C# json提取多层嵌套到数组
2014-06-21 12:21
295 查看
json好久没用了,今天在用到json的时候,发现对字符串做解析的时候总是多出双引号。
代码如下:
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各个版本的都有编译文件,很不错。
json比一般格式再复杂点的就像数组一样,有多层嵌套,研究了一下,记录代码如下:
string jsonText = "{'name':'test','phone':'18888888888','image':[{'name':'img1','data':'data1'},{'name':'img2','data':'data2'},{'name':'img3','data':'data3'}]}";
JObject jo = (JObject)JsonConvert.DeserializeObject(jsonText);
string zone = jo["name"].ToString(); string zone_en = jo["phone"].ToString();
JArray jar = JArray.Parse(jo["image"].ToString());
MessageBox.Show(zone);
MessageBox.Show(zone_en);
for (var i = 0; i < jar.Count; i++)
{
JObject j = JObject.Parse(jar[i].ToString());
MessageBox.Show(j["name"].ToString());
MessageBox.Show(j["data"].ToString());
}
关键就是用到了JArray.Parse。
代码如下:
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各个版本的都有编译文件,很不错。
json比一般格式再复杂点的就像数组一样,有多层嵌套,研究了一下,记录代码如下:
string jsonText = "{'name':'test','phone':'18888888888','image':[{'name':'img1','data':'data1'},{'name':'img2','data':'data2'},{'name':'img3','data':'data3'}]}";
JObject jo = (JObject)JsonConvert.DeserializeObject(jsonText);
string zone = jo["name"].ToString(); string zone_en = jo["phone"].ToString();
JArray jar = JArray.Parse(jo["image"].ToString());
MessageBox.Show(zone);
MessageBox.Show(zone_en);
for (var i = 0; i < jar.Count; i++)
{
JObject j = JObject.Parse(jar[i].ToString());
MessageBox.Show(j["name"].ToString());
MessageBox.Show(j["data"].ToString());
}
关键就是用到了JArray.Parse。
相关文章推荐
- C# json提取多层嵌套到数组
- C# json提取多层嵌套到数组
- C# json提取多层嵌套到数组
- C# json提取多层嵌套到数组-- C# json 数组
- C# json提取多层嵌套到数组
- C# json提取多层嵌套到数组
- [置顶] .net(c#)提取多层嵌套的JSON
- scrapy 一次性提取多层嵌套标签的所有文本
- 提取多层嵌套Json数据
- ASP.NET提取多层嵌套json数据的方法
- JSON 数组多层嵌套, value值 又是一个JSON数组
- C# 生成多层嵌套JSON到数组中(树结构JSON)
- 详解ASP.NET提取多层嵌套json数据的方法
- .net(c#)提取多层嵌套的JSON
- PHP之-json转数组,支持多层嵌套json
- 树结构(有id和pid字段)数组,生成多层嵌套的json对象
- 提取多层嵌套Json数据
- 提取多层嵌套Json数据
- 提取多层嵌套Json数据
- mongodb update多层嵌套数组解决办法