循环通过JSON数组会产生"未定义"的结果

Mom*_*omo 7 javascript arrays jquery json

response从AJAX中解析了一个JSON字符串(在var中):

JSON

{
   "TheArray":[  
      {  
         "AlmostThere": {  
            "whatWeAreLookingFor":"Hello"
         }
      },
      {
        "AlmostThere": {
            "whatWeAreLookingFor":"Goodbye"
        }
      }
   ]
}
Run Code Online (Sandbox Code Playgroud)

正在解析的JSON

var jsonData = JSON.parse(response); //response is the string version of the JSON code!
Run Code Online (Sandbox Code Playgroud)

现在,我需要循环到JSON数组,特此提到TheArray.我这样做:

循环Th​​eArray

for (var contents in jsonData["TheArray"]) {

}
Run Code Online (Sandbox Code Playgroud)

在那里,我们得到whatWeAreLookingFor元素的价值:

for (var contents in jsonData["TheArray"]) {
    console.log(contents.whatWeAreLookingFor + "!");
}
Run Code Online (Sandbox Code Playgroud)

但是有一个问题!控制台输出... undefined!.- 我已经尝试了多种方法来完成这项工作,例如使用contents["whatWeAreLookingFor"]和什么不是,但我仍然得到相同的结果.

kem*_*ica 5

你忘记访问了 AlmostThere

  jsonData.TheArray[i].AlmostThere.whatWeAreLookingFor
Run Code Online (Sandbox Code Playgroud)
for (var i = 0; i < jsonData.TheArray.length; i++) {
    console.log(jsonData.TheArray[i].AlmostThere.whatWeAreLookingFor);
}
Run Code Online (Sandbox Code Playgroud)