2012-11-08 15 views
5

Ich brauche eine string wie diese similiarDeserialize KeyValuePair <string, string> Json.Net

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

in eine KeyValuePair<string, string> oder etwas deserialisieren.

I versucht:

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

(d["example"] kehrt die json String wie oben gezeigt)

Das Ergebnis war ein leerer KeyValuePair<string, string>.

Gibt es eine Möglichkeit, dies zu lösen?

+2

hier sehen http://stackoverflow.com/questions/5124889/serialize-net-dictionarystring-string-into-json-key-value-pair-object –

Antwort

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

oder

var dict = jobj["example"].ToObject<Dictionary<string, string>>(); 
Verwandte Themen