如何将JSON响应解析为字典?

时间:2011-06-16 16:14:45

标签: c# wcf json json.net

我有一个从我的WCF服务回来的JSON共鸣(HTTPWebResponse)。它看起来像这样:

{
    "New SessionResult": [
        {
            "Key": "Token",
            "Value": "token_value"
        }
    ]
}

我正在使用JSON.NET(http://james.newtonking.com),我无法弄清楚如何将此响应反序列化为Dictionary<string, string>.我尝试了几个但每个人用不同的措辞说“无法将JSON转换为刺痛“。目前我试过这个:

Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string, string>>(reader.ReadToEnd());

如果可能,我可以将某些值直接放入字符串中。 示例)JSON响应具有键,值对(Token,token_value),我想获取键“Token”的值并将其放在本地字符串“string Token”中。

任何人都请帮忙,谢谢。

2 个答案:

答案 0 :(得分:2)

您应该尝试使用Newtonsoft.Json插件:http://json.codeplex.com/

在你的情况下,你最终会得到类似的东西:

 JObject json = JObject.Parse(jsonResponseData);
 ...
 mydic.Add(json["New SessionResult"]["Key"], json["New SessionResult"]["Value"]

答案 1 :(得分:1)

为什么要更改代码?

只需转换为“string,string” - &gt;声明中的“字符串,动态”。

Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string, string>>(reader.ReadToEnd());