Как добавить объект JSON как новый уровень в другой объект JSON? - PullRequest
5 голосов
/ 26 января 2011

У меня есть код, который попадает в конечную коллекцию двух объектов JSON, что-то вроде этого.

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

Я хотел бы вставить jsonL2 в jsonL1.holder1 и объединить его с одним объектом JSON.

Желаемый вывод

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

Как я могу это сделать?

Ответы [ 2 ]

5 голосов
/ 26 января 2011

Это так же просто, как:

L1.holder1 = L2

Я удалил "json" из имен переменных, как уже сказал @patrick, вы имеете дело не с "объектами JSON", а с литералами объектов.

См. Также: Не существует такого понятия, как объект JSON

Вы также можете узнать больше об объектах в JavaScript .

4 голосов
/ 26 января 2011

Если вы хотите, чтобы первый объект ссылался на второй, сделайте следующее:

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"}';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...