es6では、多層にネストされたJSONをどのように解析するのでしょうか?
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を解析することができます。