2012-11-08 34 views
5

tôi cần phải deserialize một string như thế nàyDeserialize KeyValuePair <string, string> Json.Net

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

thành một KeyValuePair<string, string> hoặc một cái gì đó tương tự.

tôi đã cố gắng:

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

(d["example"] lợi nhuận chuỗi json như trình bày ở trên)

Kết quả là một sản phẩm nào KeyValuePair<string, string>.

Có cách nào để giải quyết vấn đề này không?

+2

thấy ở đây http://stackoverflow.com/questions/5124889/serialize-net-dictionarystring-string-into-json-key-value-pair-object –

Trả lời

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); 

hoặc

var dict = jobj["example"].ToObject<Dictionary<string, string>>(); 
Các vấn đề liên quan