今天在用到json的时候,发现对字符串做解析的时候总是多出双引号。使用的Newtonsoft.Json.dll解析
代码如下:
string jsonText = "{'name':'test','phone':'18888888888'}"; JObject jo = (JObject)JsonConvert.DeserializeObject(jsonText); string zone = jo["name"].ToString(); string zone_en = jo["phone"].ToString();
取出来的是"test","18888888888"这样的,研究了好长时间也是不行。
因为用的是Newtonsoft.Json,后来在官网又下载了最新版本,发现取值正确了,取来的test,18888888888
分析原因可就是版本问题,之前用的一直是Newtonsoft.Json.Net20,现在程序框架用的是.net 4.0,下载的最新版本里面对.net各个版本的都有编译文件,很不错。
---------------------------------------------思路分割线---------------------------------------------------------
后来看到博主下面一哥们的评论如下:
博主你取值有问题应该是这样的:
string jsonText = "{'name':'test','phone':'18888888888'}"; JObject jo = (JObject)JsonConvert.DeserializeObject(jsonText); string zone = jo["name"].Value<string>(); string zone_en = jo["phone"].Value<string>();
测试之后果真没有了引号,太感谢了,故记录下来,原文地址如下: