Javascript 如何将JSON对象作为新级别添加到另一个JSON对象?
我有一个代码,它包含两个JSON对象的最终集合,如下所示Javascript 如何将JSON对象作为新级别添加到另一个JSON对象?,javascript,json,multidimensional-array,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" } } 我怎样才能做到这一点呢?简
var jsonL1 = {"holder1": {}}
var jsonL2 = {"section":"0 6","date":"11/12/13"}
我想在jsonL1.holder1中插入jsonL2,并将其合并到一个JSON对象中
期望输出
{
"holder1": {
"section": "0 6",
"date": "11/12/13"
}
}
我怎样才能做到这一点呢?简单到:
L1.holder1 = L2
我从变量名中删除了“json”,正如@patrick已经说过的,您处理的不是“json对象”,而是对象文本
另见:
您可能还想了解更多信息。如果希望第一个对象引用第二个对象,请执行以下操作:
jsonL1.holder1 = jsonL2;
如果你想在第一本中复制第二本,那就不同了
所以这取决于你所说的把它合并成一个对象的意思。使用上面的代码,对jsonL2
的更改将在jsonL1.holder
中可见,因为它们实际上都引用了相同的对象
有点离题,但为了更直观地描述JSON数据和javascript对象之间的差异:
// 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对象文字。@patrick dw只要不添加字符串、数组、数字、哈希和空值以外的对象,它们不是可以互换的吗?@Radek S:否。JSON是一种数据交换格式,恰好是javascript对象文字符号的子集。JSON是独立于语言的。这可能不是最好的类比,但是考虑XML:XML也可以用作数据交换格式。通常它被转换为DOM。因此DOM可以用来表示XML文档。JSON和JavaScript中的对象也是如此。唯一的区别是JSON可以“自然”转换为JavaScript对象。@Felix是对的。JSON数据是遵循JSON规范的字符串。