JSON是一种轻量级的数据交换格式,在各种Web应用中广泛使用。不过,当JSON数据结构中嵌套了多层嵌套的对象或数组时,有时需要从中越级选取某些数据。
JSON中越级选取可以通过点号和方括号来实现。例如:
var myObj = { "name": "John", "age": 30, "city": "New York", "pets": [ { "type": "cat", "name": "Mittens", "age": 5 }, { "type": "dog", "name": "Fido", "age": 3 } ] }; var petName = myObj.pets[0].name; // "Mittens"
在上面的例子中,可以通过点号和方括号来越级选取嵌套在pets数组中的第一个对象的name属性。
另外一种情况是JSON数据结构中可能嵌套了许多层嵌套的对象或数组。这时,可以使用递归来遍历整个数据结构,找到需要的数据。例如:
function findPetAge(obj) { for (var key in obj) { if (typeof obj[key] === "object") { findPetAge(obj[key]); } else { if (key === "age") { console.log(obj[key]); } } } } findPetAge(myObj); // 5, 3
在上面的例子中,使用了递归函数来遍历整个JSON数据结构,找到每个嵌套对象中的age属性并输出。
总之,JSON中越级选取可以通过点号和方括号来实现,还可以使用递归来遍历整个数据结构来找到需要的数据。