码迷,mamicode.com
首页 > Web开发 > 详细

不规则的JSON解析(一)

时间:2017-12-26 16:09:28      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:表示   color   reac   使用   取出   str   key   value   dex   

现有如下数据结构:

{
  "orderId":"000001",
  "goodsId[0]":"001",
  "goodsId[2]":"002",
  "goodsId[3]":"003",
}

goodsId 是无限延伸下去的,问如何解析。

 

显然,定义类然后解析的思路肯定行不通,即使用dynamic(不需要定义实体类,直接取对应key的值),如: dynamic obj = JsonConvert.DeserializeObject(json); 这样也不行,原因是obj.orderId可以表示,但后面的带有[]的,无法取出。

因此我们必须要换个思路。通过转换为JObject对象的属性Property,获取对应的Value,因此代码如下。

 string json = "{\"orderId\":\"000001\",\"goodsId[0]\":\"001\",\"goodsId[3]\":\"003\",\"goodsId[10]\":\"new data\"}";
 JObject jsonObj = JsonConvert.DeserializeObject(json) as JObject;
 foreach (var p in jsonObj.Properties().ToArray())
     Console.WriteLine("key={0}, value={1}",
         p.Name, jsonObj[p.Name].Value<string>());

 

不规则的JSON解析(一)

标签:表示   color   reac   使用   取出   str   key   value   dex   

原文地址:https://www.cnblogs.com/guwei4037/p/8118258.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!