Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将JSON对象作为新级别添加到另一个JSON对象?_Javascript_Json_Multidimensional Array - Fatal编程技术网

Javascript 如何将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" } } 我怎样才能做到这一点呢?简

我有一个代码,它包含两个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"
    }
}
我怎样才能做到这一点呢?

简单到:

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规范的字符串。