不规则的JSON解析(一)
2023-09-11 14:22:25 时间
现有如下数据结构:
{
"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>());
相关文章
- python json (loads(),load(),jump(),jumps())
- JSON - 简介
- json.net(Json.NET - Newtonsoft)利用动态类解析json字符串
- js 在Json中查找数据
- LigerUi-js中ajax前台调用后台Json格式转换!(已解决)
- uni-app - 解决 pages.json 中写条件编译报错导致白屏的问题(在 pages.json 里写条件编译语法后小程序端控制台直接报错白屏了)编译时 pages.json 解析失败解决教程
- jQuery中读取json文件示例代码
- Jackson 框架,轻易转换JSON
- 【Python】格式化输出JSON
- MFC学习之vc通过HTTP请求:Get或Post方式获取JSON信息(亲测可用)
- JSON 接口如何实现 RSA 非对称加密与签名
- 【转】在C#中使用Json.Net进行序列化和反序列化及定制化
- SwiftUI JSON之List读取Bundle、解析、显示本地Json文件
- 将ArcGIS Server的JSON转化为SHP文件
- 浅析Json介绍(节省流量)、Java中JSON字符串如何与Java对象互相转换/如何与List互转/如何与Map互转(toBean方法)
- table与json的互转
- 【文件处理】——字典写入json文件或TXT文件,读取文件中的字典&TypeError: Object of type ‘ndarray‘ is not JSON serializable错误解决方法