2012-11-08 26 views
5

私はKeyValuePair<string, string>または似何かにstring デシリアライズKeyValuePair <文字列、文字列> Json.Net

このような
 
{ 
    "example": { 
    "id": "12345", 
    "name": "blabla" 
    } 
}

をデシリアライズする必要があります。

私が試み:

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>>(); 
関連する問題