У меня есть структура JSON, которую я хотел бы вручную преобразовать в объект POCO с помощью JSON.NET.
Структура JSON представляет собой набор вложенных словарей ... Корневой словарь содержит категории, следующий уровень содержит продукты внутри этих категорий, а последний уровень содержит версии этих продуктов.
{
"category-1": {
"product-1": {
"product-version-1": {
"id":1,
...
}
}
},
"category-2": {
"product-2": {
"product-version-2": {
"id":2,
...
}
},
"product-3": {
"product-version-3": {
"id":3,
...
}
}
}
}
Я хотел бы разобрать эту структуру, имея в виду, что ключи всех словарей мне неизвестны заранее.
Это был код, который я написал (я собирался преобразовать в LINQ, как только он заработает ...) - я ожидал, что это сработает с парой вложенных циклов, но очевидно, что JTokens и JObjects работают не так, как я подумал ... Id всегда равен нулю.
var productsJObject = JObject.Parse(result.Content.ReadAsStringAsync().Result);
foreach (var category in productsJObject)
{
foreach (var product in category.Value)
{
foreach (var version in product)
{
var poco = new Poco
{
Id = version.SelectToken("id").ToString()
};
}
}
}
Итак, мой вопрос, как я могу перебирать вложенные словари с помощью JSON.Net?