Friday, 15 July 2011

Getting property/object-name from JSON-List in C# -


मेरे पास निम्न JSON-String है:

  {"object": {"4711 ":" प्रकार ":" मात्रा "," स्वामी ":" जॉन डो "," समय ": 1426156658," विवरण ":" जोोडेल "}," 0815 ": {" प्रकार ":" फ़ैक्स "," स्वामी ":" जॉन डो "," समय ": 1422 9 00028," विवरण ":" "," पृष्ठ_कानाउंट ": 1," स्थिति ":" ठीक है "," टैग ": [" 342ced30-7c34-11e3-ad00-00259073fd04 " , "342ced 33-7c34-11e3-ad00-00259073fd04"]}}, "स्थिति": "ठीक है"}  

उस डेटा का एक मानव पठनीय स्क्रीनशॉट:

JSON-Data

मुझे "4711" और "815" मान प्राप्त करना चाहते हैं उस डेटा मैं निम्न कोड के साथ डेटा के माध्यम से दोहराता हूं:

  जॉबकेट टैग = गेटजेसनरस्पॉन्स (); Var ऑब्जेक्ट कॉन्टैनेयर = टैग्स। गेट वैल्यू ("ऑब्जेक्ट"); यदि (objectContainer! = Null) {foreach (ऑब्जेक्ट कंटेनर में विविध टैग) {var property = tag.HowToGetThatMagicProperty (); }}  

स्थिति "var property =" पर मैं "4711" मान प्राप्त करना चाहता हूं।

मैं बस स्ट्रिंग-मैनिप्युलेशन का उपयोग कर सकता हूं

  स्ट्रिंग टैगनाम = टैग। टॉस्ट्रिंग ()। स्प्लिट (':') [0]। ("\" " स्ट्रिंग। खाली);  

लेकिन एक बेहतर, अधिक OOP की तरह होना चाहिए

अगर आपको "ऑब्जेक्ट" ऑब्जेक्ट को जॉबैक्स स्पष्ट रूप से मिलता है, तो आप प्रत्येक सदस्य पर key संपत्ति तक पहुंच सकते हैं जॉबआईजेक्ट के अंदर। वर्तमान में objectContainer एक JToken है, जो कि पर्याप्त विशिष्ट नहीं है:

  Jobbject Objectcontainer = tags.Value & lt; Jobjject & gt; ("ऑब्जेक्ट"); foreach (KeyValuePair & lt; स्ट्रिंग, JToken & gt; ऑब्जेक्ट कॉन्टैनेयर में टैग) {var property = tag.Key; Console.WriteLine (property); // 4711, आदि}   

जॉबइज़ IEnumerable.GetEnumerator के कार्यान्वयन को उजागर करता है जो KeyValuePair & lt; स्ट्रिंग, JToken & gt; और वस्तु में प्रत्येक संपत्ति का मूल्य।

उदाहरण:


No comments:

Post a Comment