Javascript 访问/处理每个(嵌套的)对象、数组或JSON

Javascript 访问/处理每个(嵌套的)对象、数组或JSON,javascript,jquery,json,sharepoint-2010,Javascript,Jquery,Json,Sharepoint 2010,我已经寻找了几天的答案,最接近我需要的是一个已经回答过的问题“访问/处理(嵌套)对象、数组或JSON”,但我遇到的问题是,这个答案将只返回一个嵌套对象,即使可能有两个或三个具有相同键 我目前正在一个SharePoint项目中工作,我需要检索特定职位的“SOP”数量,我正在对从中提取数据并返回数据的列表进行jquery ajax调用,类似于此示例,我需要能够返回每个数据(键):value,但我尝试的所有操作都只返回最后一个键,请帮助 var root = { leftChild: { le

我已经寻找了几天的答案,最接近我需要的是一个已经回答过的问题“访问/处理(嵌套)对象、数组或JSON”,但我遇到的问题是,这个答案将只返回一个嵌套对象,即使可能有两个或三个具有相同键

我目前正在一个SharePoint项目中工作,我需要检索特定职位的“SOP”数量,我正在对从中提取数据并返回数据的列表进行jquery ajax调用,类似于此示例,我需要能够返回每个数据(键):value,但我尝试的所有操作都只返回最后一个键,请帮助

var root = {
leftChild: {
    leftChild: {
        leftChild: null,
        rightChild: null,
        data: 42
    },
        leftChild: {
    leftChild: {
        leftChild: null,
        rightChild: null,
        data: 142
    },           leftChild: {
    leftChild: {
        leftChild: null,
        rightChild: null,
        data: 242
    };

alert( root.rightChild.leftChild['data']);`

您提供的JSON无效,因为对象具有重复的键。因此,您的方法将不起作用。我建议更正数据源,或者使用数组(不带键)而不是对象

或者,如果您打算使用rightChild而不是leftChild,那么这个JSON可能更有意义:

var root = {
    leftChild: {
        leftChild: {
            leftChild: null,
            rightChild: null,
            data: 42
        },
        rightChild: {
            leftChild: {
                leftChild: null,
                rightChild: null,
                data: 142
            },
            rightChild: {
                leftChild: {
                    leftChild: null,
                    rightChild: null,
                    data: 242
                }
            }
        }
    }
};

你确定
root
看起来像那样吗?这不是一个有效的对象@白纸白纸是正确的。我假设一些
leftChild
属性应该是
rightChild