0

我有一个 json 结构,其中包含一些相互引用的对象,我希望将对其他对象的引用替换为对象的值。但是,我无法在不指定的情况下更改 json 对象的值。有没有办法做到这一点?

函数的示例输入和输出:

输入

"myData": {
    "reference" : {
        key: "key",
        value: "value"
    }

    "objectOfInterest" : {
        "reference" : {
            key: "key"
        },
        blah: "blah"
    }
}

输出

"myData": {
    "reference" : {
        key: "key",
        value: "value"
    }

    "objectOfInterest" : {
        "reference" : {
            key: "key",
            value: "value"
        },
        blah: "blah"
    }
}

注意:为了澄清,我可以轻松找到要替换的参考。我遇到的问题是实际更换。

4

1 回答 1

0

Jquery 有一个用于合并对象的函数$.extend http://api.jquery.com/jQuery.extend/

    var new_object = $.extend(
        { //Old Object
        "myData": {
            "reference" : {
                key: "key",
            value: "value"
        }

        ,"objectOfInterest" : {
            "reference" : {
                key: "key"
            },
            blah: "blah"
        }
      }
    }, { //New Object Replace

        "objectOfInterest" : {
            "reference" : {
                key: "key2",
                value: "value2"
            },
            blah: "blah"
        }
      }
    );
    console.log(new_object);
于 2012-10-21T02:22:07.153 回答