11 ответов:
основываясь на вашем описании в комментариях, вы просто сделаете массив concat:
var jsonArray1 = [{'name': "doug", 'id':5}, {'name': "dofug", 'id':23}]; var jsonArray2 = [{'name': "goud", 'id':1}, {'name': "doaaug", 'id':52}]; jsonArray1 = jsonArray1.concat(jsonArray2); // jsonArray1 = [{'name': "doug", 'id':5}, {'name': "dofug", 'id':23}, //{'name': "goud", 'id':1}, {'name': "doaaug", 'id':52}];
Если вы хотите скопировать свойства:
var json1 = { value1: '1', value2: '2' }; var json2 = { value2: '4', value3: '3' }; function jsonConcat(o1, o2) { for (var key in o2) { o1[key] = o2[key]; } return o1; } var output = {}; output = jsonConcat(output, json1); output = jsonConcat(output, json2);выход вышеуказанного кода
{ value1: '1', value2: '4', value3: '3' }
вы можете использовать jquery расширения метод.
пример:
o1 = {"foo":"bar", "data":{"id":"1"}}; o2 = {"x":"y"}; sum = $.extend(o1, o2);результат:
sum = {"foo":"bar", "data":{"id":"1"}, "x":"y"}
одним из решений является использование списка / массива:
var first_json = {"name":"joe", "age":27}; var second_json = {"name":"james", "age":32}; var jsons = new Array(); jsons.push(first_json); jsons.push(second_json);результат
jsons = [ {"name":"joe", "age":27}, {"name":"james", "age":32} ]
фактический способ использует объект JS.назначить.
Object.assign(target, ...sources)есть еще один оператор распространения объектов, который предлагается для ES7 и может использоваться с плагинами Babel.
Obj = {...sourceObj1, ...sourceObj2}
хорошо, вы можете сделать это в одной строке кода. вам понадобится json2.js для этого (вы, вероятно, уже есть.). два объекта json здесь являются нерасчлененными строками.
json1 = '[{"foo":"bar"},{"bar":"foo"},{"name":"craig"}]'; json2 = '[{"foo":"baz"},{"bar":"fob"},{"name":"george"}]'; concattedjson = JSON.stringify(JSON.parse(json1).concat(JSON.parse(json2)));
просто попробуйте это, используя подчеркивания
var json1 = [{ value1: '1', value2: '2' },{ value1: '3', value2: '4' }]; var json2 = [{ value3: 'a', value4: 'b' },{ value3: 'c', value4: 'd' }]; var resultArray = []; json1.forEach(function(obj, index){ resultArray.push(_.extend(obj, json2[index])); }); console.log("Result Array", resultArray);результат
Я использую
пусть x = { a: 1, b: 2, c: 3 }
пусть y = {c: 4, d: 5, e: 6 }
пусть z = объект.назначить(x, y)
var baseArrayOfJsonObjects = [{},{}]; for (var i=0; i<arrayOfJsonObjectsFromAjax.length; i++) { baseArrayOfJsonObjects.push(arrayOfJsonObjectsFromAjax[i]); }

Comments