JSON数据就是一段字符串而已,只不过有不同意义的分隔符将其分割开来而已,我们看上面的符号,里面有[] ,{}等符号,其中

1 []中括号代表的是一个数组;

2 {}大括号代表的是一个对象

3 双引号“”表示的是属性值

4 冒号:代表的是前后之间的关系,冒号前面是属性的名称,后面是属性的值,这个值可以是基本数据类型,也可以是引用数据类型。

一般我们是使用Json.NET做解析。

那么遇到Json中key为数字动态格式怎么解析?

如下

{"apps": {"570": {"228983": {"8124929965194586177": "available"},"228990": {"1829726630299308803": "available"},"373301": {"840315559245085162": "available"},"373302": {"688854584180787739": "available"},"373303": {"3675525977143063913": "available"},"373305": {"4435851250675935801": "available"},"381451": {"6984541794104259526": "available"},"381452": {"1442783997179322635": "available"},"381453": {"6878143993063907778": "available"},"381454": {"7824447308675043012": "available"},"381455": {"5681120743357195246": "available"}},"674940": {"674941": {"6246860772952658709": "available"}}}
}

定义实体

public class AppIds : Dictionary<string, DepotId> { }
public class DepotId : Dictionary<string, ManifestId> { }
public class ManifestId : Dictionary<string, string> { }

然后你可以像这样使用 Newtonsoft.Json

class Program
{static void Main(string[] args){string jsonPath = @"c:\debug\data.json";System.IO.Stream s = new System.IO.FileStream(jsonPath,System.IO.FileMode.Open, System.IO.FileAccess.Read);AppIds data = JsonConvert.DeserializeObject<Dictionary<string, AppIds>>(File.ReadAllText(jsonPath))["apps"];}
}

参考 https://stackoverflow.com/questions/51909203/how-to-deserialize-this-json-to-c-sharp-class

https://stackoverflow.com/questions/21752345/deserializing-json-that-has-an-int-as-a-key-in-c-sharp

https://stackoverflow.com/questions/50390939/c-sharp-json-how-to-deserialize-something-with-a-key-that-could-be-any-kind-of-i

Json中key为数字动态格式怎么解析相关推荐

  1. Java中[xxx:xxx,aaa:aaa]格式字符串解析

    Java中[xxx:xxx,aaa:aaa]格式字符串解析 String str = "[name:张三,age:18,phone:15888887777,email:15888887777 ...

  2. Java将json中key值下划线转为驼峰格式

    目录 1 需求说明 2 Java工具类转换实现 2.1 代码 1.2 运行结果 3 转换为对应的java实体 1 需求说明 在开发过程中,有时会遇到json不是严格按照驼峰命名,需要将其中带有下划线的 ...

  3. go json的key为数字怎么解析_golang向interface{}解析json时把所有的数字都当成float64...

    最近发现 golang解析json时把所有的int,float,double等数字,向interface{}解析时都当成float64(当然被双信号包围的数字除外,任何被双引号包围的,都是字符串.), ...

  4. 解决json数据 key为数字,自动排序问题

    一.问题 接口返回json数据给前端时,前端反馈拿到的数据并不是按照预期的顺序,数据自动根据key值重新排序了,不是我辛辛苦苦排序的顺序 二.分析并解决 1.分析 json是无序,和数组不一样,从浏览 ...

  5. 复制网页中的表格格式后导入到excel、markdown、数据库、json中,并转换表格格式

    复制网页中的表格 (先从第二步开始,如果第二步不行再用这一步)首先在桌面新建一个文本文件(以.txt结尾的文本文件),选中网页的表格后复制,然后粘贴在新建的文本文件中,显示为: S.No. CQL数据 ...

  6. js 解析json中key,value包含空格的字段。

    检测代码 function iterableJsonArray(jsonObj, needTips) {if (jsonObj.length > 0 && typeof (jso ...

  7. java获取json中的某个值_接口测试之json中的key获取

    在很多情况下我们在进行接口测试的时候都会有获取上个接口返回的json数据中的某个key值,然后下个接口调用这个key值.今天给大家讲解一下针对不同类型的json获取某个key的值. 一.首先是单纯ob ...

  8. 接口测试之json中的key获取

    在很多情况下我们在进行接口测试的时候都会有获取上个接口返回的json数据中的某个key值,然后下个接口调用这个key值.今天给大家讲解一下针对不同类型的json获取某个key的值. 一.首先是单纯ob ...

  9. 接口测试如何在json中引用mock变量

    在测试接口的时候,有的接口需要测试随机传入大量数据,查看数据库是否正常,但是大量的随机数据全靠自己手写会很慢,而且是通过json传递的数据. 这里我们就可以使用mock生成随机变量,然后在json中引 ...

最新文章

  1. 售价910元!周志华等人英文新书《演化学习》出炉!
  2. 记忆网络RNN、LSTM与GRU
  3. [云炬创业基础笔记]第二章创业者测试1
  4. (原创)VS2017 C# 运行 Javasrcipt RSA 加密用户名登录 Java开发的服务器
  5. IOS-C语言第8天,Struct (结构体)
  6. Java多线程之静态代理
  7. 好了好久时间,终于写成了第一个Python代码
  8. 解决cdh4.5.0下 MAP任务看不到状态
  9. 退出myeclipse 8.5配置中心
  10. ftp服务器登录没有文件,登录ftp服务器文件显示不出
  11. WMS系统多少钱?什么是WMS系统
  12. 第七届DAMS中国数据智能管理峰会(上海站) - 文末俩惊喜
  13. app营销实训报告_市场营销模拟软件实训报告
  14. java实现清除图片水印_Java实现图片水印
  15. Android 开发小技巧(2)
  16. 字节飞书提前批一面(凉的透透的)
  17. android is not translated in 报错解决方案
  18. 灵机一栋团队alpha冲刺 Ⅰ
  19. 全国快递物流查询-快递单号查询接口api
  20. 全国计算机技术与软件专业技术资格(水平)考试【软件评测师】-考试内容总结(一)计算机系统构成及硬件基础知识...

热门文章

  1. matlab在线性系统中的应用,风力发电系统中Matlab鲁棒控制工具箱的应用
  2. python 3.9 pycocotools安装
  3. 屏幕分辨率单位转换详解
  4. python 三大框架之一Flask入门
  5. CleanMyMac X软件下载及详细功能介绍
  6. ROS2机器人f1tenth之CLI工具基础
  7. [err] [Dtf] 1146: Table ‘xxxxx‘ doesn‘t exist
  8. 人工智能 | 四个关于普通人的故事
  9. php将数据保存为txt文件,PHP将数据存到txt文件中并显示
  10. android 电话状态的监听(来电和去电) PhoneStateListener和TelephonyManager