我有一个来自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"中。
请任何人帮忙,谢谢。
您应该尝试Newtonsoft.Json插件:http://json.codeplex.com/
在你的情况下,你最终会得到这样的东西:
JObject json = JObject.Parse(jsonResponseData);
...
mydic.Add(json["New SessionResult"]["Key"], json["New SessionResult"]["Value"]
为什么要更改代码?
只需从声明中的"string,string"->"string,dynamic"转换即可。
Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string, string>>(reader.ReadToEnd());