没有介绍正文之前先给大家说下json是什么。
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,我们称之为JavaScript对象表示法。使用JSON进行数据传输的优势之一是JSON实际上就是JavaScript。它基于ECMAScript第3版中JavaScript对象字面量语法子集的一种文本格式。这表示可以使用responseText从服务器中检索JSON数据,然后再使用JavaScript的eval()方法将JSON字符串转换成JavaScript对象,那么,使用附加JavaScript就可以很地从该对象中提取数据,而不需要处理DOM。
我们在做项目的时候经常会用到javascript的json。
首先说一下javascript的json串是什么,json串属于javascript的一个对象,有键和值对应的对象。
一般的格式是:
a = { a1 : 1, a2 : 'abc', a3 : 'abc', a4 : [1,2,3], a5 : function(){console.log(12)} };
我们读取这个json 的方法是通过for in 循环来遍历;
使用json串的好处是可以事先把数据库中的数据一次性的读取出来存成json的形式,然后通过javascript来读取里边的属于,这样可以大大减少对服务器的请求次数,增加了前台页面的加载效率 。
我们在遍历json的时候会遇到许多问题,我今天遇到的问题是在我们把json串的键值写成数字的情况下,在主流浏览器遍历的时候不会按照我们输出的json的结构先后输出,而是按照数字的从小到大顺序输出。但是ie8以下浏览器会按照我们输出的顺序输出。
例如:
a = { '1' : 1, '5' : function(){console.log(12)}, '2' : 'abc', '4' : [1,2,3], '3' : {'5' : 'abc', '6' : 'bcd'}, };
通过for in循环
for(var i in a){ console.log(a[i]); }
chrome,firefox等浏览器输出:1,abc,Object { 5="abc", 6="bcd"},[1, 2, 3],function();
ie8以及以下浏览器:1,function(),abc,[1, 2, 3],Object { 5="abc", 6="bcd"};
解决这样的问题有两种:
第一:就是把数字的键值改成字符串形式的包括字母或者下划线;
第二 :就是解决ie的兼容性,通过先遍历json然后把键值存入一个数组中,然后再通过数组排序来循环数组取json中的数据。
具体代码:
var arr = [],sortNumber = function (a,b){ return a - b; }; for(var i in a){ arr[arr.length] = a[i]; arr.sort(sortNumber); for(var x = 0; x < arr.length; x++) { console.log(a[arr[x]]); }
浏览器读取的数据就会保持一致了,有个缺点就是这个也不会按照我们输出的json格式输出,只是解决了浏览器的兼容问题。
以上所述是小编给大家介绍的JavaScript遍历Json串浏览器输出的结果不统一问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新动态
- 群星.1993-宝丽金美少女宣言6CD【宝丽金】【WAV+CUE】
- 大生意隐藏任务哪里接?大生意任务攻略
- 周深《晚安明天见 TMElive超现场》[WAV/分轨][700MB]
- 群星 再次征服挑剔的耳朵《发烧天籁女声 5CD》[WAV+CUE][3.3GB]
- 费玉清《一剪梅 HQCD 不朽的经典》[WAV+CUE][670MB]
- 西游笔绘西行新手攻略 新手入门指南分享
- 崩坏星穹铁道椒丘遗器怎么选 崩铁椒丘遗器搭配攻略
- 西游笔绘西行怎么预约 游戏预约方法分享
- 《战争机器人:前线》基础攻略 简述+配置+下载
- 《瑞奇与叮当:时空跳转》评测:穿越机能秀
- 图虽然老 但她实在太大了 动图 少妇春色满园遮不住啊
- SYMPHONIESINHI-FI2(发烧交响乐2)MQGCD2022原抓WAV
- CD圣经上榜天碟1996-李谷一-《秋水伊人》[LPCD45][WAV+CUE]
- [ABC唱片]-《西电之声—人声》[德国版HD]WAV+CUE
- 《地狱潜者2》Reddit社区发文 呼吁大家撤销游戏差评