这是我的代码。
var request = require('request');
var API = "https://api.stackexchange.com/2.2/users?page=1&order=desc&sort=reputation&site=stackoverflow";
request(API, function(e//console.dir(body);
if( err || response.statusCode != 200 ) {
console.log("Error",err); return;
}
var stringify = JSON.stringify(body);
var obj = JSON.parse(stringify);
var items = obj.items;
for (var i in items) {
var item = items[i];
var display_name = item.display_name;
console.log("display_name", display_name);
}
});
节点堆栈.js
我想从 json(https://api.stackexchange.com/2.2/users?page=1&order=desc&sort=reputation&site=stackoverflow) 中获取display_name。但是,没有任何反应(var 项变得"未定义")。我应该怎么做才能解决它?
当你应该只使用常规for
循环时,你使用的是for in
循环。 for in
用于迭代对象的属性 - 您希望迭代数组的元素:
for (var i = 0; i < items.length; i++) {
var item = items[i];
var display_name = item.display_name;
console.log("display_name", display_name);
}