如何使用JavaScript遍历此类JSON数据?
解决JavaScript遍历对象数组的问题
首先你提供的不是标准JSON格式,而是JavaScript对象字面量(JSON要求键名必须用双引号,且不能直接写Person构造函数,实际应该是普通对象)。假设你的数据是如下合法的JS对象:
const data = { persons: [ { name: 'Herbert', age: 70 }, { name: 'Peter', age: 67 } ] };
你原来的代码无法运行,核心问题是**personArray变量未正确指向data.persons这个数组**。
正确的遍历方式
直接获取对象里的persons数组,再调用forEach:
data.persons.forEach((person) => { console.log(person.name); });
如果你的数据是从JSON字符串解析而来,要先确保解析后的结构正确(标准JSON里不会有Person标识,解析后就是普通对象数组):
// 假设原始JSON字符串是这样的(标准格式) const jsonStr = `{ "persons": [ {"name": "Herbert", "age": 70}, {"name": "Peter", "age": 67} ] }`; const data = JSON.parse(jsonStr); data.persons.forEach((person) => { console.log(person.name); });
额外提示
如果你的Person是自定义类的实例,遍历逻辑是一样的,只要确保你正确拿到了persons数组:
class Person { constructor(name, age) { this.name = name; this.age = age; } } const data = { persons: [ new Person('Herbert', 70), new Person('Peter', 67) ] }; data.persons.forEach((person) => { console.log(person.name); });
内容的提问来源于stack exchange,提问作者NickH
相关产品推荐
相关产品推荐

