2017-05-04 2 views
0

ここにJsonがあり、それをサーバーに投稿します。私はこのJqueryからC#にJsonStringをポストします。どのように解析するのですか

public string SaveEvent(EventModel model, string klassenModel) 
    { 
     JObject result = JObject.Parse(klassenModel); 

を持って、私のC#コードで今すぐ

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); 
        }; 

今、私はそれはそれではない有効なJSON文字列のように見える

Error reading JObject from JsonReader. Current JsonReader item is not an object: StartArray. 

このエラーが出ますか!?

"[{\"Klasse_Id\":1,\"MaxTeilnehmer\":2}]" 

しかし、私はhttps://jsonlint.com/でそれをチェックし、それは有効であると言います。

このJsonから値を取得したいと考えています。

EDIT:

私はそれを解決し、今、このJSON文字列に配列が含まれているので、私はデータ

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

可能な複製(http://stackoverflow.com/questions/15726197/parsing-a-json-array-using-json-net):これを試してみてください – Sinatr

答えて

0

を保存することができます。 [Json.Netを使用してJSON配列を解析]の

var result = JArray.Parse(klassenModel); 
関連する問題