Mam strukturę JSON, którą chciałbym ręcznie analizować do obiektu POCO przy użyciu JSON.NET.Jak mogę iterować zagnieżdżone słowniki za pomocą JSON.NET?
Struktura JSON jest zbiorem zagnieżdżonych słowników ... Słownik główny zawiera kategorie, następny poziom zawiera produkty w tych kategoriach, a na ostatnim poziomie znajdują się wersje tych produktów.
{
"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,
...
}
}
}
}
chciałbym analizować tę strukturę, pamiętając klucze wszystkich słowników nie są mi znane z wyprzedzeniem.
To był kod, który napisałem (miałem zamiar przekonwertować na LINQ po uruchomieniu ...) - Spodziewałem się, że to zadziała z kilkoma zagnieżdżonymi pętlami, ale wyraźnie JTokens i JObjects nie działają tak, jak to Myślałem ... Id jest zawsze zerowy.
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()
};
}
}
}
Moje pytanie brzmi: jak mogę iterować za pomocą zagnieżdżonych słowników przy użyciu JSON.Net?