javascript - JSON 使用 node.js 循环多维数组

标签 javascript arrays json node.js object

阅读了不同的方法后,请耐心等待我尝试解释。

我正在尝试从 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

或者更好地可视化为

json structure

现在我想选择以下 -> 用户 -> 名称对象。更重要的是,循环响应中的每个用户 -> 名称。

我认为我需要将字符串转换为对象,所以我尝试了

    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/

相关文章:

javascript - 从深层嵌套指令调用父作用域函数

javascript - 为什么 javascript 对我从服务器获取的数据进行重新排序

ios - -[UITableView _endCellAnimationsWithContext : 中的断言失败

c# - 在 aspx 网页上使用 JsonObject 的内容

java - Java中如何获取仅包含特定字段的对象列表?

java - expected=JSONException.class 没有捕捉到

javascript - 如何在 jQuery 中仅显示一次警报

javascript - 一行数组迭代器javascript

c - 使用指针数组进行交换

c++ - 将二维数组传递给 C++ 中的函数