2015-04-14 7 views
9

के साथ JSON कुंजी/मान जोड़े को पार्स करना मेरे पास .NET प्रोजेक्ट है। मैं JSON.NET लाइब्रेरी का उपयोग कर रहा हूं। मुझे कुछ जेएसओएन को पार्स करने के लिए इस लाइब्रेरी का उपयोग करने की आवश्यकता है। मेरे JSON इस तरह दिखता है:JSON.NET

{"1":"Name 1","2":"Name 2"} 

वस्तु वास्तव में सिर्फ कुंजी/मान जोड़े की एक सूची है। मैं यह पता लगाने की कोशिश कर रहा हूं कि JSON.NET का उपयोग कैसे करें 1) इस जेएसओएन और 2) पार्स को कुंजी/वैल्यू जोड़े के माध्यम से पार्स करें। क्या इसे करने का कोई तरीका है? यदि हां, तो कैसे?

केवल एक चीज जो मैं देखता हूं वह दृढ़ता से टाइप की गई वस्तु में de-serializing है।

आपको बहुत बहुत धन्यवाद!

+0

था साझा करना चाहिए महसूस किया इस JSON उत्पन्न करें? क्या यह हमेशा कुंजी नाम के रूप में 1 और 2 होगा? – mason

+0

ठीक है आपने JSON.NET के संदर्भ में अभी तक क्या प्रयास किया है? ऐसा लगता है कि आपको इसे 'जॉब्जेक्ट' के रूप में पार्स करने में सक्षम होना चाहिए, या उसे 'शब्दकोश <स्ट्रिंग, स्ट्रिंग>' में आसानी से परिवर्तित करना चाहिए ... –

+0

संभावित डुप्लिकेट [मैं JSON को एक साधारण शब्दकोश में कैसे deserialize कर सकता हूं ASP.NET में ??(httpoverstow.com/questions/1207731/how-can-i-deserialize-json-to-a-simple-dictionarystring-string-in-asp-net) –

उत्तर

29

आप Dictionary<string, string>

var dict = JsonConvert.DeserializeObject<Dictionary<string, string>>(json); 
foreach(var kv in dict) 
{ 
    Console.WriteLine(kv.Key + ":" + kv.Value); 
} 

को deserialize कर सकते हैं के बाद से JObject लागू करता IDictionary, तुम भी बस JObject.Parse

var dict = JObject.Parse(@"{""1"":""Name 1"",""2"":""Name 2""}"); 
0

नीचे का उपयोग कर सकते json कहाँ subratings कुंजी मान युग्म है

{ 
"data": [  
{  
"id": "288560300",  
"lang": "en", 

"subratings":  {  

"Cleanliness": "5", 

"Sleep Quality": "5", 

"Service": "5" 
    } 
} 
]} 

public void LoadJsonKeyValuePair(string json) 
{ 
Rootobject item = JsonConvert.DeserializeObject<Rootobject>(json); 
} 

public class Rootobject 
{ 
[JsonProperty("data")] 
public List<Datum> data { get; set; } 
} 

public class Datum 
{ 
[JsonProperty("id")] 
public string id { get; set; } 
[JsonProperty("lang")] 
public string lang { get; set; } 
[JsonProperty("subratings")] 
public Dictionary<string, object> subratings { get; set; } 
} 

आप न्यूटॉन्सॉफ्ट का उपयोग कर सकते हैं। Json इस वस्तु

+1

क्या आप शायद इस उदाहरण के साथ कुंजी/मूल्य जोड़ी को सूचीबद्ध करने के बारे में बता सकते हैं? मेरे पास एक समान सेटअप है। यह स्पष्ट नहीं है कि कुंजी/मूल्य जोड़ी को यहां क्या है। – Autonomic

1

deserialize करने के लिए हाय सब मैं भी इस

ऊपर जवाब मेरे लिए काम करता टेक्स्ट बॉक्स asp.ne टी में आप EZI

को

var jsonData = JsonConvert.DeserializeObject<Dictionary<string, string>> 
(json_Incoming_fromServer); 
foreach(var keyvalue in jsonData) 
{ 

    textBox.text = keyvalue.Value; // this will only display the value of that 
    // attribute/key 

} 

धन्यवाद का उपयोग कर