Как я могу перечислить через JObject?
Я пытаюсь определить, как получить доступ к данным, которые находятся в моем JObject, и я не могу для жизни меня определить, как его использовать.
JObject Object = (JObject)Response.Data["my_key"];
Я могу распечатать его на консоли, делая консоль.WriteLine (объект) и я вижу данные, это выглядит так:
{
"my_data" : "more of my string data"
...
}
но я понятия не имею, как просто перебирать/перечислять через него, у кого-нибудь есть идеи? Я сейчас в такой растерянности.
3 ответа:
если вы посмотрите на документация
JObject
, вы увидите, что он реализуетIEnumerable<KeyValuePair<string, JToken>>
. Таким образом, вы можете перебирать его просто с помощьюforeach
:foreach (var x in obj) { string name = x.Key; JToken value = x.Value; … }
JObjects можно перечислить через JProperty объекты, приведя его к JToken:
foreach (JProperty x in (JToken)obj) { // if 'obj' is a JObject string name = x.Name; JToken value = x.Value; }
Если у вас есть вложенный JObject внутри другого JObject, вам не нужно бросать, потому что метод доступа вернет JToken:
foreach (JProperty x in obj["otherObject"]) { // Where 'obj' and 'obj["otherObject"]' are both JObjects string name = x.Name; JToken value = x.Value; }