0
Ich habe einen JSON hier und posten es auf dem Server.Jquery Post JsonString zu C#. Wie analysiere ich es
newJson.push({ Klasse_Id: parseInt(key), MaxTeilnehmer: value.MaxTeilnehmer });
$http.post('@Url.Content("~/Gw2RaidCalender/SaveEvent")', {
model: saveEventObject,
klassenModel: JSON.stringify(newJson)
}).then(function successCallback(result) {
console.log(result.data);
}),
function errorCallback(result) {
console.log(result.data);
};
Jetzt in meiner C# -Code Ich habe diesen
public string SaveEvent(EventModel model, string klassenModel)
{
JObject result = JObject.Parse(klassenModel);
Jetzt bekomme ich diesen Fehler
Error reading JObject from JsonReader. Current JsonReader item is not an object: StartArray.
Es ist wie es ist nicht ein gültiger JSON-String aussieht!?
"[{\"Klasse_Id\":1,\"MaxTeilnehmer\":2}]"
Aber ich habe es auf https://jsonlint.com/ und es sagt, seine Gültigkeit.
Ich möchte die Werte aus diesem Json bekommen.
EDIT:
ich es gelöst und jetzt kann ich die Daten
var jsonKlassen = JArray.Parse(klassenModel);
foreach (JObject content in jsonKlassen.Children<JObject>())
{
int klasse_Id = (int)content.Property("Klasse_Id").Value;
int maxTeilnehmer = (int)content.Property("MaxTeilnehmer").Value;
var klassenmodel = new Klasse2EventModel
{
Klasse_Id = klasse_Id,
MaxTeilnehmer = maxTeilnehmer,
Event_Id = newEventId
};
_db.Klasse2EventModel.Add(klassenmodel);
_db.SaveChanges();
}
Mögliche Duplikat [Parsing ein JSON-Array mit Json.Net] (http://stackoverflow.com/questions/15726197/parsing-a-json-array-using-json-net) – Sinatr