Попытка десериализовать следующий JSON в объект .NET с использованием Json.Net не работает так, как предполагалось. Обычно десериализация обычно не является серьезным осложнением, но структура следующего JSON не так прямолинейна.Deserialize JsonObjects для объектов .NET
JSON:
{
"33": {
"0": {
"StopName": "JFK Blvd & 15th St",
"Route": "33",
"date": "11:24p",
"day": "Fri",
"Direction": "1",
"DateCalender": "02/10/12 11:24 pm"
},
"3": {
"StopName": "JFK Blvd & 15th St",
"Route": "33",
"date": "11:52p",
"day": "Fri",
"Direction": "1",
"DateCalender": "02/10/12 11:52 pm"
}
},
"32": {
"1": {
"StopName": "JFK Blvd & 15th St",
"Route": "32",
"date": "11:30p",
"day": "Fri",
"Direction": "1",
"DateCalender": "02/10/12 11:30 pm"
}
},
"17": {
"2": {
"StopName": "JFK Blvd & 15th St",
"Route": "17",
"date": "11:38p",
"day": "Fri",
"Direction": "1",
"DateCalender": "02/10/12 11:38 pm"
}
}
}
Усложнение результаты от "33", "32", "17", которые представляют собой число маршрутов. Эти числа могут меняться по мере изменения маршрутов в наборе результатов.
Я уверен, что для этого мне нужно написать настраиваемый JSON-конвертер, но я не могу найти никакой четкой информации о выполнении этой задачи (поскольку никто, кажется, не имеет проблемы, когда имя свойства является динамическим) ,
Я попытался также использовать Json.NET Linq для JSON, но это не представляется возможным, потому что вы должны использовать код, подобный следующему, чтобы получить доступ к JSON:
JObject o = JObject.Parse(e.Result);
o["33"];
Поскольку у меня нет реального представления что имена свойств перед рукой, я не могу легко пересечь этот объект, кажется.
Какая версия .NET вы используете? –