0

所以我试图遍历一个 json 对象,但我不知道它是否会有一个或多个孩子。我正在使用带有咖啡脚本的$.each jquery 函数,如下所示:

$.each data.searchresults.response.results.result, (i) ->
  count = i + 1
  console.log data.searchresults.response.result.address.street

现在,如果“结果”节点有两个实例,则此方法有效;但是,当它只有一个实例时,它不起作用。我的问题是,我是否以次优方式编写 $.each 函数和/或两个我应该只检查存在多少结果节点然后决定循环还是只访问节点?

JSON 有两个http ://www.zillow.com/webservice/GetSearchResults.htm?zws-id=X1-ZWz1dj9f5y35l7_agge7&address=3925%20edwardsville%20galena%20road&citystatezip=47122

JSON 与一个http ://www.zillow.com/webservice/GetSearchResults.htm?zws-id=X1-ZWz1dj9f5y35l7_agge7&address=206%20Plum%20lake%20drive&citystatezip=47172

运行多个结果节点时没有错误,但只有一个结果节点运行时出现以下错误:

TypeError:“未定义”不是对象(评估“data.searchresults.response.results.result[i].address.street”)

4

1 回答 1

1

所以我遇到的问题(我知道很愚蠢)是在 .each 函数内部,我使用带有 [i] 的完整对象路径来访问对象的正确迭代。

所以而不是使用这个console.log data.searchresults.response.result[i].address.street

我将脚本调整为如下所示:

$.each data.searchresults.response.results.result, (i,result) ->
  count = i + 1
  console.log result.address.street
于 2013-05-01T04:05:35.983 回答