как добавить два javascript объекта - PullRequest
1 голос
/ 28 января 2020

У меня проблема с javascript объектами. Я хочу добавить две структуры объектов, одинаковые здесь, они также в первую очередь являются объектами строки

data1 = '{"display:[{"counter":"A023","token":"001"}]"}'
data2 = '{"display:[{"counter":"A013","token":"003"}]"}'

ожидаемый результат new

data = '{"display:[{"counter":"A023","token":"001"}, {"counter":"A013","token":"003"}]"}'

я пробовал эти коды

var data1 = JSON.parse(data1);
var data1 = JSON.parse(data1);
var newdata = $.merge(data1.display, data2.display);

я не могу решить эту проблему, я не знаю, как это сделать, я также пробовал другие коды

Ответы [ 4 ]

7 голосов
/ 28 января 2020

Попробуйте это:

let data1 = '{"display":[{"counter":"A023","token":"001"}]}'
let data2 = '{"display":[{"counter":"A013","token":"003"}]}'

data1 = JSON.parse(data1);
data2 = JSON.parse(data2);

data = JSON.stringify({display: [...data1.display, ...data2.display]})
console.log(data)
1 голос
/ 28 января 2020

Предполагая, что строки JSON имеют правильный формат:

let data1 = '{"display":[{"counter":"A023","token":"001"}]}';
let data2 = '{"display":[{"counter":"A013","token":"003"}]}';

let data = {
  display: JSON.parse(data1).display.concat(JSON.parse(data2).display)
};

console.log(data);
0 голосов
/ 28 января 2020

Вы можете ise Array.prototype.concat(). Также ваши значения data1 и data2 недействительны json. Я обновил эти значения

let data1 = '{"display":[{"counter":"A023","token":"001"}]}';
let data2 = '{"display":[{"counter":"A013","token":"003"}]}';

data1 = JSON.parse(data1);
data2 = JSON.parse(data2);

data1.display = data1.display.concat(data2.display);
let output = JSON.stringify(data1)
console.log(output)
0 голосов
/ 28 января 2020

Вы не хотите заключать свои объекты данных в кавычки. Вы можете записать их как обычные объекты, а затем использовать операцию распространения для достижения желаемого.

let data1 = {"display:[{"counter":"A023","token":"001"}]"}
let data2 = {"display:[{"counter":"A013","token":"003"}]"}
let mergedData = {"display": [...data1.display, ...data2.display]}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...