1. 程式人生 > >javascript遍歷json物件資料的方法

javascript遍歷json物件資料的方法

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

}