2012-11-08 19 views
5

मैं एक KeyValuePair<string, string> या कुछ और समान में इसdeserialize KeyValuePair <स्ट्रिंग, स्ट्रिंग> Json.Net

 
{ 
    "example": { 
    "id": "12345", 
    "name": "blabla" 
    } 
}

की तरह एक string deserialize की जरूरत है।

मैंने कोशिश की:

var pair = JsonConvert.DeserializeObject<KeyValuePair<string, string>>(d["example"].ToString()); 

(d["example"] रिटर्न ऊपर दिखाए तरह json स्ट्रिंग)

परिणाम एक खाली KeyValuePair<string, string> था।

क्या इसे हल करने का कोई तरीका है?

+2

यहाँ देख http://stackoverflow.com/questions/5124889/serialize-net-dictionarystring-string-into-json-key-value-pair-object –

उत्तर

5
string json = 
    @"{ 
      ""example"": { 
      ""id"": ""12345"", 
      ""name"": ""blabla"" 
      } 
     }"; 

var jobj = JObject.Parse(json); 
var dict = jobj["example"] 
      .Children().Cast<JProperty>() 
      .ToDictionary(x => x.Name, x => (string)x.Value); 

या

var dict = jobj["example"].ToObject<Dictionary<string, string>>(); 
संबंधित मुद्दे