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();
}
可能な複製(http://stackoverflow.com/questions/15726197/parsing-a-json-array-using-json-net):これを試してみてください – Sinatr