【发布时间】:2015-10-11 10:36:34
【问题描述】:
阅读了不同的方法后,请耐心等待我尝试解释。
我正在尝试从 twitch api 检索数据并将 user.name 结果循环到可能在对象内的数组。我正在使用 nodejs,所以它必须是 javascript。
到目前为止,当我运行以下命令时,我得到了一个不错的 json 响应。
var request = require('request');
request({url: 'https://api.twitch.tv/kraken/channels/twitch/follows?limit=3'}, function(err, res, json) {
if (err) {
throw err;
}
console.log(json);
});
然后记录与访问https://api.twitch.tv/kraken/channels/twitch/follows?limit=3的位置相同
或者更好的可视化为
现在我想选择以下 -> 用户 -> 名称对象。更重要的是,在响应中循环每个用户 -> 名称。
我认为我需要将字符串转换为对象,所以我尝试了
var obj = JSON.parse(json);
但这仅返回树中的前 {3} 个对象。所以我继续尝试
var request = require('request');
request({url: 'https://api.twitch.tv/kraken/channels/twitch/follows?limit=3'}, function(err, res, json) {
if (err) {
throw err;
}
for (var i=0; i<json.length; i++) {
var obj = JSON.parse(json.follows[i].user.name);
console.log(obj);
}
});
然后它返回
TypeError: Cannot read property '0' of undefined
出于测试目的,我也摆脱了循环,只让1 返回一点信息。尝试了多个重新安排呼叫的实例后,我总是收到错误或“未定义”的回复。
似乎没有任何效果,我什至以正确的方式解决这个问题?
【问题讨论】:
标签: javascript arrays json node.js object