JSON

javascript遍历json对象数据的方法

字号+ 作者:H5之家 来源:H5之家 2017-12-11 13:05 我要评论( )

经过一番细细研究,发现在JSON中,有两种结构:对象和数组,对象是没有length这个属性,而数组结构是有的,下面分别说下这两种结构之间的区别和遍历方式。

最近在修改一个HTML页面的JS的时候遍历JSON对象,却怎么也调试不通过。在获取 json.length的时候总是undefined,各种调试不对,于是网上搜了下,发现JSON对象根本没有length属性,一些比较权威的参考文档也没有提到json有length这个属性。但是奇怪的是我明明记得json有length,而且还用过,程序能够正确运行。

经过一番细细研究,发现在JSON中,有两种结构:对象和数组,对象是没有length这个属性,而数组结构是有的,下面分别说下这两种结构之间的区别和遍历方式。

1.对象

一个对象以“{”开始,“}”结束。每个“key”后跟一“:”,“‘key/value’ 对”之间运用 “,”分隔。

packJson = {"name":"phpernote", "password":"111"}

原生Js遍历json对象的方法

myJson = {"name": "phpernote", "password": "1111"}; for (var val in myJson) {     alert(val + " " + myJson[val]);//输出如:name  }

2.数组

packJson = [{"name":"phpernote", "password":"111"}, {"name":"tony", "password":"111"}];

数组是值的有序集合。一个数组以“[”开始,“]”结束。值之间运用 “,”分隔。

原生Js遍历json数组的方法

无规律json数组:

var json = [{dd: 'SB', AA: '东东', re1: 123}, {cccc: 'dd', lk: '1qw'}];

for (var i = 0, l = json.length; i < l; i++) {     for (var key in json[i]) {         alert(key + ':' + json[i][key]);     } }

有规律json数组:

packJson = [     {"name": "nikita", "password": "1111"},     {"name": "tony", "password": "2222"} ]; for (var p in packJson) {//遍历json数组时,这么写p为索引,0,1     alert(packJson[p].name + " " + packJson[p].password); }

也可以这样:

for(var i = 0; i < packJson.length; i++){    alert(packJson[i].name + " " + packJson[i].password); }

您可能感兴趣的文章

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Python简单读取json文件功能示例

    Python简单读取json文件功能示例

    2017-12-11 12:45

  • 好好学习,改变自己

    好好学习,改变自己

    2017-12-10 15:00

  • 【学习】spring MVC之返回JSON数据(Spring3.0 MVC+Jackson+AJAX)

    【学习】spring MVC之返回JSON数据(Spring3.0 MVC+Jackson+AJAX)

    2017-12-10 12:01

  • taglib 学习

    taglib 学习

    2017-12-10 11:00

网友点评