我有一个代码,它包含两个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"
}
}
我该怎么做?
答案 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}}