【问题标题】:How to loop through array response from Zillow api in Node JS如何在 Node JS 中循环来自 Zillow api 的数组响应
【发布时间】:2018-09-06 00:35:34
【问题描述】:

我检查了其他回复,但无法弄清楚。我无法判断我返回的数据是否正确,或者我的循环是否不正确。我正在尝试在响应中访问此数组的值。

使用节点库,我正在使用以下代码访问 Zillow api:

const Zillow = require("node-zillow")

const zillow = new Zillow('my key')

const parameters = {
    address: "5555 Ronald Road",
    citystatezip: "South Gate, CA",
    rentzestimate: true
}

zillow.get('GetSearchResults', parameters)
    .then(results => {
        console.log(results)
        return results
    })

这将返回以下内容:

{ request: { address: '5555 Ronald Road', citystatezip: 'South Gate, CA' },
  message: { text: 'Request successfully processed', code: '0' },
  response: { results: { result: [Array] } } }

我的问题是我无法访问数组中的数据。我以前从未使用过 Node,所以我不知道该怎么做。

我尝试添加这个:

for (let item of results) {
  console.log(results)
}

由于它是一个数组,我想我可以执行此操作 console.log(results[0]) 这将返回未定义。

【问题讨论】:

    标签: node.js zillow


    【解决方案1】:

    如果您在第二个代码块中显示的内容是您在 .then() 处理程序中执行 console.log(results) 时看到的内容,那么该数组将位于 results.response.results.result 中。这就是您导航到 zillow.get() 调用解析到的对象中的子对象的方式。

    您可以通过console.log(results.response.results.result) 来查看.then() 处理程序中的数组内容。

    zillow.get('GetSearchResults', parameters).then(results => {
        let resultsArray = results.response.results.result;
        console.log(resultsArray);
        for (let item of resultsArray) {
            console.log(item);
        }
        return resultsArray;
    });
    

    【讨论】:

      猜你喜欢
      • 2020-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-28
      • 2019-01-31
      • 1970-01-01
      • 2012-09-28
      相关资源
      最近更新 更多