这里有许多如何迭代 javascript 对象的示例。这对我来说实际上很好
var text = '{"employees":[' +
'{"firstName":"John","lastName":"Doe" },' +
'{"firstName":"Anna","lastName":"Smith" },' +
'{"firstName":"Peter","lastName":"Jones" }]}';
obj = JSON.parse(text);
document.getElementById("demo").innerHTML =
obj.employees[1].firstName + " " + obj.employees[1].lastName;
但没有弄清楚如何迭代 obj 中的值。尝试过这样的
for(var k in obj) {
if (obj.hasOwnProperty(k)) {
if (obj.hasOwnProperty(k)) {
out +=("Key is " + k + ", value is" + obj[k].firstName);
}
}
}
但失败了。正如您从示例中看到的那样。如果有人可以帮助使用一些 javascript 代码来迭代 JSON 键值对?
最佳答案
解析后,您的 obj
变量引用一个带有 employees
属性的对象,该属性引用一个数组。所以:
obj.employees.forEach(function(employee) {
// ...
});
或
var i, employee;
for (i = 0; i < obj.employees.length; ++i) {
employee = obj.employees[i];
// ...
}
...或 this answer 中概述的任何其他方法.
关于javascript - 使用 javascript 循环 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32074415/