-1

如何在json中迭代数据数组请检查我的代码

Object {bhanu : Array[3], root: Array[12], hari: Array[7], balu: Array[1], santha: Array[6]}

我想迭代这个数组怎么做我这样使用

function orgChartResult(result)
{
    var userOrgUsers = JSON.parse(result);

    for(var name in userOrgUsers) {
        console.log(name + "=" + userOrgUsers[name]);
    }

    console.log(userOrgUsers);
}

但它提供了所有数据。但我只想读取 firstNode 数据意味着 bhanu:Arrat[3]; 我的数组大小是 3 然后下一个数组大小是 12 我怎样才能一一读取

4

1 回答 1

0

我想我会继续回答这个问题,因为您似乎只需要循环数组。

function orgChartResult(result) {
    var userOrgUsers = JSON.parse(result);

    for(var name in userOrgUsers) {
        console.log(name + "=" + userOrgUsers[name]);

        for (var i = 0; i < userOrgUsers[name].length; i++) {
            console.log(userOrgUsers[name][i]);
        }
    }
}

所以这只是对foruserOrgUsers[name].


如果数组中的每个项目也是对象,您可以添加另一个循环来枚举属性。

function orgChartResult(result) {
    var userOrgUsers = JSON.parse(result);

    for(var name in userOrgUsers) {
        console.log(name + "=" + userOrgUsers[name]);

        for (var i = 0; i < userOrgUsers[name].length; i++) {
            console.log(userOrgUsers[name][i]);

            for (var name2 in userOrgUsers[name][i]) {
                console.log(userOrgUsers[name][i][name2]);
            }
        }
    }
}

如果由于某种原因您不知道 JSON 的结构,您可以使用递归函数来迭代任何 Array 和 Object,并在所有其他成员上调用回调。还有许多其他问题可以处理这种情况。

于 2013-09-11T13:43:23.750 回答