2017-05-04 4 views
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(); 
      } 
+0

Mögliche Duplikat [Parsing ein JSON-Array mit Json.Net] (http://stackoverflow.com/questions/15726197/parsing-a-json-array-using-json-net) – Sinatr

Antwort

0

Da diese JSON-String enthält ein Array speichern. Versuchen Sie folgendes:

var result = JArray.Parse(klassenModel); 
Verwandte Themen