阅读了不同的方法后,请耐心等待我尝试解释。
我正在尝试从 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返回一点信息。在尝试了多次重新安排调用的实例后,我总是收到错误或“未定义”。
似乎没有任何效果,我什至正在以正确的方式解决这个问题?
最佳答案
循环 json.followers.length
- 不是 json.length
- json
是一个对象,而对象没有长度:
for (var i=0; i<json.follows.length; i++) {
关于javascript - JSON 使用 node.js 循环多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31548115/