如何将JSON对象作为新级别添加到另一个JSON对象?

时间:2011-01-26 19:24:27

标签: javascript json multidimensional-array

我有一个代码,它包含两个JSON对象的最终集合,就像这样。

var jsonL1 = {"holder1": {}}
var jsonL2 = {"section":"0 6","date":"11/12/13"}

我想在jsonL1.holder1中插入jsonL2并将其合并到一个JSON对象。

期望的输出

{
    "holder1": {
        "section": "0 6",
        "date": "11/12/13"
    }
}

我该怎么做?

2 个答案:

答案 0 :(得分:5)

这很简单:

L1.holder1 = L2

我从变量名中删除了“json”,就像@patrick已经说过的那样,你不是处理“JSON对象”而是处理对象文字。

另请参阅:There is no such thing as a JSON object

您可能还想了解有关objects in JavaScript的更多信息。

答案 1 :(得分:4)

如果您希望第一个对象引用第二个,请执行以下操作:

jsonL1.holder1 = jsonL2;

如果您想要第一个副本,那么第一个副本

所以这取决于合并它对一个对象的意思。使用上面的代码,jsonL2中的jsonL1.holder更改将显示在 // this is a javascript object var obj = {"section":"0 6","date":"11/12/13"}; // this is valid JSON data var jsn = '{"section":"0 6","date":"11/12/13"}'; 中,因为它们实际上只是引用同一个对象。


有点偏离主题,但要更直观地描述JSON数据和javascript对象之间的区别:

{{1}}