在處理Json數(shù)據(jù)時(shí),我們經(jīng)常需要遍歷整個(gè)Json對(duì)象來(lái)獲取需要的數(shù)據(jù)。對(duì)于Json對(duì)象的遍歷,我們可以使用for循環(huán)進(jìn)行嵌套操作。下面是一個(gè)使用for嵌套遍歷Json對(duì)象的例子。
// 假設(shè)我們有一個(gè)Json對(duì)象如下:
var json = {
name: "Tom",
age: 20,
address: {
city: "Beijing",
street: "Chaoyang Road"
},
friends: [
{ name: "Lucy", age: 19 },
{ name: "John", age: 22 }
]
};
// 遍歷Json對(duì)象的代碼如下:
for (var key in json) { // 第一層循環(huán)
if (typeof json[key] === "object") { // 檢查當(dāng)前屬性值是否為Json對(duì)象
for (var innerKey in json[key]) { // 第二層循環(huán)
console.log(innerKey + ": " + json[key][innerKey]); // 輸出內(nèi)層Json對(duì)象的屬性名和屬性值
}
} else {
console.log(key + ": " + json[key]); // 輸出普通屬性的屬性名和屬性值
}
}
在以上代碼中,我們使用了兩層for循環(huán)來(lái)遍歷Json對(duì)象。第一層循環(huán)遍歷Json對(duì)象的每一個(gè)屬性,第二層循環(huán)遍歷當(dāng)前屬性值為Json對(duì)象的內(nèi)層屬性。在內(nèi)層循環(huán)中,我們使用了json[key][innerKey]的方式來(lái)獲取內(nèi)層Json對(duì)象的屬性值。
需要注意的是,在進(jìn)行Json對(duì)象的遍歷時(shí),我們需要判斷當(dāng)前屬性值是否為Json對(duì)象。如果當(dāng)前屬性值不是Json對(duì)象,我們可以直接輸出該屬性的值;如果當(dāng)前屬性值為Json對(duì)象,我們需要再次使用for循環(huán)來(lái)遍歷內(nèi)層Json對(duì)象的屬性值。