Мне тяжело повторять простой JSON, который у меня есть. Я сделал это легко в Javascript, но не могу заставить его работать с json.net в C#. Это мой JSON:Итерация json от определенного ключа
{
"term0":{
"id":"2131sd0",
"senses":{
"0":{
"synonyms":{
"0":{
"synonym":"that",
"context":""
},
"1":{
"synonym":"the indicated",
"context":""
},
"2":{
"synonym":"the present",
"context":""
},
"3":{
"synonym":"aforementioned",
"context":""
}
}
}
}
},
"term1":{
"id":"2131sd1",
"senses":{
"0":{
"synonyms":{
"0":{
"synonym":"the one",
"context":""
},
"1":{
"synonym":"this one",
"context":""
},
"2":{
"synonym":"the one in question",
"context":""
}
}
}
}
}
}
И это мой C#:
JObject rootObject = JObject.Parse(jsonText);
foreach(dynamic a in rootObject.SelectToken("term0")["senses"]["0"]["synonyms"])
{
Debug.WriteLine(a["synonym"]);
}
, который рушится. Что мне не хватает?
спасибо.
Ошибка:
A first chance exception of type 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' occurred in Microsoft.CSharp.dll A first chance exception of type 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' occurred in System.Core.dll An unhandled exception of type 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' occurred in System.Core.dll Additional information: Cannot dynamically invoke method 'WriteLine' because it has a Conditional attribute
'который рушится' Сбой с чем? Какое сообщение об ошибке вы получаете? Поместите это в свой вопрос. –
Когда я пытаюсь это сделать, я получаю 'InvalidOperationException' с сообщением:' Не могу получить доступ к дочернему значению в Newtonsoft.Json.Linq.JProperty.' –
@MattBurland. Я тоже получил это. Вы должны называть 'a.First [" синоним "]', и тогда вы получите исключение, которое он описал. –