0

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

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

4

1 回答 1

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;
});
于 2018-09-06T02:36:20.353 回答