我检查了其他回复,但无法弄清楚。我无法确定我返回的数据是否正确,或者我的循环是否正确。我正在尝试在响应中访问此数组的值。
使用节点库,我正在使用以下代码访问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])这返回未定义。
答案 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;
});