如何通过Node JS中的Zillow API遍历数组响应

时间:2018-09-06 00:35:35

标签: node.js zillow

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

使用节点库,我正在使用以下代码访问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])这返回未定义。

1 个答案:

答案 0 :(得分:0)

如果在第二个代码块中显示的内容是在console.log(results)处理程序中执行.then()时看到的内容,则该数组将位于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;
});