简体   繁体   English

堆栈溢出API的nodejs JSON.parse()

[英]nodejs JSON.parse() of stack overflow API

Here is my code. 这是我的代码。

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);
}

});

node stack.js 节点stack.js

I would like to get display_name from json( https://api.stackexchange.com/2.2/users?page=1&order=desc&sort=reputation&site=stackoverflow ). 我想从json( https://api.stackexchange.com/2.2/users?page=1&order=desc&sort=reputation&site=stackoverflow )获取display_name。 However, nothing happens(var items gets "undefined"). 但是,什么也没发生(var项目变为“ undefined”)。 What should I do to fix it? 我该怎么解决?

You're using a for in loop when you should just be using a regular for loop. 当您应该只使用常规的for循环时,就在使用for in循环。 for in is for iterating over the properties of an object - where you want to iterate over the elements of an array: 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);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM