我需要像这样反序列化string
{ "example": { "id": "12345", "name": "blabla" } }
进入KeyValuePair<string, string>
或类似的东西。
我试过了:
var pair = JsonConvert.DeserializeObject<KeyValuePair<string, string>>(d["example"].ToString());
(d["example"]
返回如上所示的json字符串)
结果为空KeyValuePair<string, string>
。
有什么方法可以解决这个问题吗?
答案 0 :(得分:6)
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>>();