Key为数字的Json数据标准化成标准Json格式
在平时的开发过程中,经常遇到形如:{"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格式相关推荐
- pdf 模版 汉字和数字_写好汉字和数字,这是最标准的格式!(强烈推荐收藏)...
原标题:写好汉字和数字,这是最标准的格式!(强烈推荐收藏) 都说字如其人,写得一手好字,将会让我们终身受用.为了写好字,孩子就必须从小练起.对于练字这项基础功,家长可不能忽视. 今天中教君就给大家讲讲 ...
- 解决json数据 key为数字,自动排序问题
一.问题 接口返回json数据给前端时,前端反馈拿到的数据并不是按照预期的顺序,数据自动根据key值重新排序了,不是我辛辛苦苦排序的顺序 二.分析并解决 1.分析 json是无序,和数组不一样,从浏览 ...
- Json中key为数字动态格式怎么解析
JSON数据就是一段字符串而已,只不过有不同意义的分隔符将其分割开来而已,我们看上面的符号,里面有[] ,{}等符号,其中 1 []中括号代表的是一个数组: 2 {}大括号代表的是一个对象 3 双引号 ...
- 数字电视传输网络技术与标准(转)
引:三种传输网络.三大传输标准体系,组成了一个数字电视"网格".不同的数字电视系统都会占据一个"网格".中国正在培育自己的地面数字电视传输标准,期望在搭建数字电 ...
- JSON DATE 转换标准的一些资料(收集)
Json的Date标准还没出来,所以有各种花样的date,而我们经常在js上使用自然问题多多了. 关于标准可以看http://weblogs.asp.net/bleroy/archive/2008/0 ...
- js json数据去重。json数据如何将相邻的一条数据的重复数据删掉,通过key判断值相等的
数据: table:[ {code:1,value:"哈哈哈",name:"姓名一",age:"23",article:"1000 ...
- JS中对象key为数字的使用
<!DOCTYPE html> <html><head><meta charset="utf-8"><title>JS中 ...
- Excel怎么把数字样式日期转为标准日期格式
今天跟大家分享一下Excel怎么把数字样式日期转为标准日期格式 1.打开Excel文件 2.选择要处理的单元格区域 3.点击下图选项(Excel工具箱,百度即可了解详细下载安装信息,本文这里就不做详细 ...
- JSON转化成Excel文件
(记录)JSON转化成Excel文件 如果以jar包形式启动,通过getPath() 将生成的excel文件生成到jar包同级目录. JSON示例: {"detail_head": ...
最新文章
- 请教提高代码编写组织能力代码优化、精明
- html如何提交保存,html表单提交保存
- linux安装python3_关于在linux系统中python第三库的区分和查找
- 0 win10重装partition_修复Win10系统无法安装系统保留分区方法
- 服务器:浅谈 Nginx 性能调优,太实用了!
- LeetCode 545. 二叉树的边界(前序+后序)*
- iBiology |除了B站,这还有个专业的生科科普网站
- Redis-数据结构04-整数集合(intset)
- Shell脚本中的并发(转)
- 生产者-消费者模型之集合ArrayBlockingQueue源码解读
- GPS学习之二:AGPS,GPS,DGPS 认识
- ClickHouse可视化DBM Release 1.13.0
- 数电知识点总结第二章:逻辑代数基础
- JS原生事件如何绑定
- 小菜鸡刷CTF(二)
- 企业在线ERP系统与内控控制因素管理
- 3、中小企业网络架构-接入层交换机基本配置
- 三台主机关于ntp时间同步的实验
- 201671010403 陈倩倩 实验四附加实验
- Android-SQLite数据库实例,Android开发面试基础
热门文章
- 勤哲excel 2007服务器 模板分类为空,勤哲Excel服务器20088.7完整企业版
- java构造反射和函数_反射类的构造函数和方法
- iOS UIPasteboard
- sql运算符_SQL运算符
- python当前日期时间_Python当前日期时间
- AngularJS JetBrains WebStorm简介
- Spring Controller – Spring MVC控制器
- 最近很多面试都是考研凉凉的,心塞!
- Django中间件简析
- JVM性能调优监控工具专题一:JVM自带性能调优工具(jps,jstack,jmap,jhat,jstat,hprof)...