Ho una struttura JSON che vorrei analizzare manualmente ad un oggetto POCO usando JSON.NET.Come posso scorrere i dizionari nidificati con JSON.NET?
La struttura JSON è un gruppo di dizionari nidificati ... Il dizionario radice contiene categorie, il livello successivo contiene prodotti all'interno di tali categorie e l'ultimo livello contiene versioni di tali prodotti.
{
"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,
...
}
}
}
}
vorrei analizzare questa struttura, tenendo presente le chiavi di tutti i dizionari non sono noti a me prima del tempo.
Questo era il codice che avevo scritto (stavo per convertire in LINQ una volta funzionato ...) - Mi aspettavo che questo funzionasse con un paio di cicli annidati ma chiaramente JTokens e JObjects non funzionano come Pensavo ... L'ID è sempre nullo.
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()
};
}
}
}
Quindi la mia domanda, come posso scorrere su dizionari nidificati usando JSON.Net?