मेरे पास एक JSON संरचना है जो मैं JSON.NET का उपयोग कर 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 में परिवर्तित करने जा रहा था ...) - मुझे उम्मीद थी कि यह दो घोंसले वाले लूपों के साथ काम करेगी लेकिन स्पष्ट रूप से जेटीकेन्स और जॉब्जेक्ट्स काम नहीं करते हैं मैंने सोचा ... आईडी हमेशा शून्य है।
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 का उपयोग करके नेस्टेड शब्दकोशों में कैसे पुन: प्रयास कर सकता हूं?