在ES6中,你可以使用遞歸函數來解析多層嵌套的JSON。下面是一個示例:
const nestedJSON = {
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York",
"country": "USA"
},
"friends": [
{
"name": "Tom",
"age": 28
},
{
"name": "Jane",
"age": 32
}
]
};
function parseNestedJSON(obj) {
for (let key in obj) {
if (typeof obj[key] === 'object') {
parseNestedJSON(obj[key]); // 遞歸調用函數來解析嵌套的對象
} else {
console.log(key + ': ' + obj[key]);
}
}
}
parseNestedJSON(nestedJSON);
這個例子中,parseNestedJSON
函數會遍歷JSON對象的每個屬性。如果屬性的值是一個對象,那么函數會遞歸調用自身來解析嵌套的對象。如果屬性的值不是一個對象,那么函數會打印出鍵和對應的值。
在上面的例子中,函數會打印出以下內容:
name: John
age: 30
street: 123 Main St
city: New York
country: USA
name: Tom
age: 28
name: Jane
age: 32
這樣你就可以通過遞歸函數來解析多層嵌套的JSON了。