Добавление объектов JSON в Javascript

0

Я создаю объекты JSON динамически:

[{"fill":"none","stroke":"#000000","path":"M186.5,25L187.5,25L187.5,26L188.5,27L189.5,28L189.5,29L190.5,29","stroke-opacity":1,"stroke-width":5,"stroke-linecap":"round","stroke-linejoin":"round","transform":[],"type":"path"}]

[{"fill":"none","stroke":"#000000","path":"M73.5,42L73.5,42L75.5,43L82.5,46L101.5,55L119.5,65L126.5,69L128.5,71L129.5,71","stroke-opacity":1,"stroke-width":5,"stroke-linecap":"round","stroke-linejoin":"round","transform":[],"type":"path"}]

.......

Я хочу добавить все эти объекты, сгенерированные в один объект Javascript, как:

[{"fill":"none","stroke":"#000000","path":"M186.5,25L187.5,25L187.5,26L188.5,27L189.5,28L189.5,29L190.5,29","stroke-opacity":1,"stroke-width":5,"stroke-linecap":"round","stroke-linejoin":"round","transform":[],"type":"path"},
{"fill":"none","stroke":"#000000","path":"M73.5,42L73.5,42L75.5,43L82.5,46L101.5,55L119.5,65L126.5,69L128.5,71L129.5,71","stroke-opacity":1,"stroke-width":5,"stroke-linecap":"round","stroke-linejoin":"round","transform":[],"type":"path"}]

Таким образом, каждый создаваемый объект должен быть добавлен к этой строке JSON. Я могу объединить два объекта JSON и использовать его в другой переменной Javascript как:

var obj1 = '[{"fill":"none","stroke":"#000000","path":"M186.5,25L187.5,25L187.5,26L188.5,27L189.5,28L189.5,29L190.5,29","stroke-opacity":1,"stroke-width":5,"stroke-linecap":"round","stroke-linejoin":"round","transform":[],"type":"path"}]';

var obj2 = '[{"fill":"none","stroke":"#000000","path":"M186.5,25L187.5,25L187.5,26L188.5,27L189.5,28L189.5,29L190.5,29","stroke-opacity":1,"stroke-width":5,"stroke-linecap":"round","stroke-linejoin":"round","transform":[],"type":"path"}]';

var mergedJS = JSON.parse(obj1).concat(JSON.parse(obj2));

  mergedJSON =JSON.stringify(mergedJS);

Тем не менее, я хочу, чтобы все вновь созданные объекты JSON в той же переменной. Может кто-нибудь, пожалуйста, дайте мне знать, как я могу это сделать?

  • 0
    Как создаются эти объекты? Вы не можете поместить их в массив напрямую?
  • 0
    Я не могу отправить их напрямую в массив, потому что они генерируются индивидуально из вызова функции. Если возможно, как я могу вставить их в массив напрямую?
Показать ещё 7 комментариев
Теги:

1 ответ

1

Вам нужно будет вытащить объекты из своих отдельных массивов, прежде чем добавлять их в главный массив:

var newJSArray = [];
var mergedJS = JSON.parse(obj1);
newJSArray.push(mergedJS[0]);
mergedJS = JSON.parse(obj2);
newJSArray.push(mergedJS[0]);

Очевидно, что для n объектов вы будете зацикливаться на том, что, как я уже делал выше.

  • 0
    Я хочу, чтобы каждый создаваемый объект был добавлен в массив в этот момент.
  • 0
    Этот код выполнит то же самое. Просто возьмите 0-й элемент каждого массива объектов, поскольку ваши объекты отправляются во вложенном массиве.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню