【发布时间】:2016-01-31 11:36:26
【问题描述】:
我从 AJAX 解析了一个 JSON 字符串(在 response var 中):
JSON
{
"TheArray":[
{
"AlmostThere": {
"whatWeAreLookingFor":"Hello"
}
},
{
"AlmostThere": {
"whatWeAreLookingFor":"Goodbye"
}
}
]
}
正在解析的 JSON
var jsonData = JSON.parse(response); //response is the string version of the JSON code!
现在,我需要循环进入 JSON 数组,这里称为TheArray。我这样做:
循环数组
for (var contents in jsonData["TheArray"]) {
}
在里面,我们得到whatWeAreLookingFor元素的值:
for (var contents in jsonData["TheArray"]) {
console.log(contents.whatWeAreLookingFor + "!");
}
但是有一个问题!控制台输出... undefined!。 -
我尝试了多种方法来完成这项工作,例如使用contents["whatWeAreLookingFor"] 等等,但我仍然得到相同的结果。
【问题讨论】:
-
Don't use
for... infor looping over Arrays - 如果可以使用 ES6,请使用常规的for循环、forEach或for... of。 -
提示:在你的循环中记录
contents。这不会是你所期望的。 -
for (var contents in jsonData.TheArray) { console.log(jsonData.TheArray[contents].AlmostThere.whatWeAreLookingFor + "!"); }
标签: javascript jquery arrays json