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