Я уверен, что ответ на этот вопрос очень прост, но у меня проблемы. У меня есть следующая строка JSON (предоставленная Yahoo Fantasy Sports API), которую я пытаюсь проанализировать в своих объектах модели из JSON.NET JToken. Поскольку я не хочу заманивать свой проект кучей классов специально для поддержки JSON-анализа, я пытаюсь сделать это вручную. Тем не менее, я не могу в своей жизни выяснить в коде, как определить, есть ли я в случае настроек или в случае с командами. Помогите?Как различить элементы JArray.NET JARray
{
"league":[
{
"league_key":"somevalue",
"name":"My League"
},
{
"teams":{
"0":{
"team":[
[
// some data
]
]
},
"1":{
"team":[
[
// some data
]
]
},
"count":2
}
}
]
}
Ниже приведен код, я использую для анализа (до сих пор):
public League ParseJson(JToken token)
{
var league = new League();
if (token.Type == JTokenType.Array)
{
foreach (var child in token.Children<JObject>())
{
// how do I figure out if this child contains the settings or the teams?
}
return league;
}
return null;
}
Я не хочу, чтобы жёстко, потому что я мог бы загрузить более/разные subresources из лиги так не гарантируется, что он всегда будет содержать эту структуру.
Sweet. Я заметил, что при отладке и использовании индексирования массива с несуществующими индексами он генерирует исключение, поэтому я не думал проверять значение null. Но он не делает этого в скомпилированном коде, так что это работает. – sohum