在平时的开发过程中,经常遇到形如:{"1": {"name": "北京","city": {"1": {"name": "北京","area": {"92": "西城区"}},"1098": {"name": "怀柔","area": {}}}}的JSON格式数据,但是此类数据在后端语言,比如说.NET上,就不能很好地被反序列化,为此我们需要对其进行处理。我们处理遇到的主要问题是如何拿出Key为数字的Json数据,联想到将JSON字符串转换为对象后,JSON的key为对象的属性,我们可以利用遍历属性的方式,取出所有的Key,再组装成标准的"id":"value"的方式。OK,话不多说,开始动手去做。  

 1   var provinceList =[];
 2        var jso = "{\"1\": {\"name\": \"北京\",\"city\": {\"1\": {\"name\": \"北京\",\"area\": {\"92\": \"西城区\"}},\"1098\": {\"name\": \"怀柔\",\"area\": {}}}}}";
 3        var data = eval('(' + jso + ')');
 4        for (var prop in data) {
 5             var province = {};
 6             province.id = prop;
 7             province.name = data[prop].name;
 8             province.city = [];
 9             for (var cityprop in data[prop].city) {
10                 var currentcity = {};
11                 currentcity.id = cityprop;
12                 currentcity.name = data[prop].city[cityprop].name;
13                 currentcity.area = [];
14                 for (var areaprop in data[prop].city[cityprop].area) {
15                     var currentarea = {};
16                     currentarea.id = areaprop;
17                     currentarea.name = data[prop].city[cityprop].area[areaprop];
18                     currentcity.area.push(currentarea);
19                 }
20                 province.city.push(currentcity);
21
22             }
23             provinceList.push(province);
24         }

至此我们可以到标准的JSON : [{"id":"1","name":"北京","city":[{"id":"1","name":"北京","area":[{"id":"92","name":"西城区"}]},{"id":"1098","name":"怀柔","area":[]}]}]。  有了标准JSON,无论是反序列化成对象还是转换为XML格式的文件都更方便了。

转载于:https://www.cnblogs.com/SenvenStudent/p/5951921.html

Key为数字的Json数据标准化成标准Json格式相关推荐

  1. pdf 模版 汉字和数字_写好汉字和数字,这是最标准的格式!(强烈推荐收藏)...

    原标题:写好汉字和数字,这是最标准的格式!(强烈推荐收藏) 都说字如其人,写得一手好字,将会让我们终身受用.为了写好字,孩子就必须从小练起.对于练字这项基础功,家长可不能忽视. 今天中教君就给大家讲讲 ...

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

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

  3. Json中key为数字动态格式怎么解析

    JSON数据就是一段字符串而已,只不过有不同意义的分隔符将其分割开来而已,我们看上面的符号,里面有[] ,{}等符号,其中 1 []中括号代表的是一个数组: 2 {}大括号代表的是一个对象 3 双引号 ...

  4. 数字电视传输网络技术与标准(转)

    引:三种传输网络.三大传输标准体系,组成了一个数字电视"网格".不同的数字电视系统都会占据一个"网格".中国正在培育自己的地面数字电视传输标准,期望在搭建数字电 ...

  5. JSON DATE 转换标准的一些资料(收集)

    Json的Date标准还没出来,所以有各种花样的date,而我们经常在js上使用自然问题多多了. 关于标准可以看http://weblogs.asp.net/bleroy/archive/2008/0 ...

  6. js json数据去重。json数据如何将相邻的一条数据的重复数据删掉,通过key判断值相等的

    数据: table:[ {code:1,value:"哈哈哈",name:"姓名一",age:"23",article:"1000 ...

  7. JS中对象key为数字的使用

    <!DOCTYPE html> <html><head><meta charset="utf-8"><title>JS中 ...

  8. Excel怎么把数字样式日期转为标准日期格式

    今天跟大家分享一下Excel怎么把数字样式日期转为标准日期格式 1.打开Excel文件 2.选择要处理的单元格区域 3.点击下图选项(Excel工具箱,百度即可了解详细下载安装信息,本文这里就不做详细 ...

  9. JSON转化成Excel文件

    (记录)JSON转化成Excel文件 如果以jar包形式启动,通过getPath() 将生成的excel文件生成到jar包同级目录. JSON示例: {"detail_head": ...

最新文章

  1. 请教提高代码编写组织能力代码优化、精明
  2. html如何提交保存,html表单提交保存
  3. linux安装python3_关于在linux系统中python第三库的区分和查找
  4. 0 win10重装partition_修复Win10系统无法安装系统保留分区方法
  5. 服务器:浅谈 Nginx 性能调优,太实用了!
  6. LeetCode 545. 二叉树的边界(前序+后序)*
  7. iBiology |除了B站,这还有个专业的生科科普网站
  8. Redis-数据结构04-整数集合(intset)
  9. Shell脚本中的并发(转)
  10. 生产者-消费者模型之集合ArrayBlockingQueue源码解读
  11. GPS学习之二:AGPS,GPS,DGPS 认识
  12. ClickHouse可视化DBM Release 1.13.0
  13. 数电知识点总结第二章:逻辑代数基础
  14. JS原生事件如何绑定
  15. 小菜鸡刷CTF(二)
  16. 企业在线ERP系统与内控控制因素管理
  17. 3、中小企业网络架构-接入层交换机基本配置
  18. 三台主机关于ntp时间同步的实验
  19. 201671010403 陈倩倩 实验四附加实验
  20. Android-SQLite数据库实例,Android开发面试基础

热门文章

  1. 勤哲excel 2007服务器 模板分类为空,勤哲Excel服务器20088.7完整企业版
  2. java构造反射和函数_反射类的构造函数和方法
  3. iOS UIPasteboard
  4. sql运算符_SQL运算符
  5. python当前日期时间_Python当前日期时间
  6. AngularJS JetBrains WebStorm简介
  7. Spring Controller – Spring MVC控制器
  8. 最近很多面试都是考研凉凉的,心塞!
  9. Django中间件简析
  10. JVM性能调优监控工具专题一:JVM自带性能调优工具(jps,jstack,jmap,jhat,jstat,hprof)...