如何在 Node JS 中循环遍历来自 Zillow api 的数组响应

How to loop through array response from Zillow api in Node JS

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

使用节点库,我使用以下代码访问 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
    })

这个returns以下:

{ 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]) 这个 returns 未定义。

如果您在第二个代码块中显示的是您在 .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;
});