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]);
-
}
-
}
-
-
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);
-
-
}