2014-01-07 3 views
0

У меня есть массив JSON объектов, как эти, который выглядит как этотОбъединение массив JSON объектов в отдельные объекты с помощью JQuery

[{ 
    "Name": "Nikhil", 
    "Surname": "Agrawal" 
}, { 
    "profession": "java developer", 
    "experience": "2 years" 
}, { 
    "company": "xyz", 
    "city": "hyderabad" 
}] 

Теперь то, что я пытаюсь сделать, это объединение всего массива в единый объект JSON

{ 
    "Name": "Nikhil", 
    "Surname": "Agrawal" 
    "profession": "java developer", 
    "experience": "2 years" 
    "company": "xyz", 
    "city": "hyderabad" 
} 

Я пытаюсь с этим jQuery.merge(firstObject, secondObject) но он принимает только два аргумента Итак, еще раз мне нужно применить цикл и замены объектов и так сложную логику. Есть ли другой способ объединить это?

+0

Что вы пытаетесь ??? – Hiral

+0

@GeorgeStocker могут быть другие дубликаты, но отмеченная здесь информация о создании нового массива –

ответ

1

Я не думаю, что это может быть сделано в одном вызове, поэтому постарайтесь

var obj = {}; 
$.each(arr, function (i, o) { 
    $.extend(obj, o) 
}) 
console.log(obj) 

Демо: Fiddle

+0

Сэр спасибо. вы помогли мне во второй раз. +1 для вас. –

2

Javascript

var json = [{ 
    "Name": "Nikhil", 
    "Surname": "Agrawal" 
}, { 
    "profession": "java developer", 
    "experience": "2 years" 
}, { 
    "company": "xyz", 
    "city": "hyderabad" 
}]; 

var newObj = {}; 
for(var i = 0; i < json.length; i++){ 
    for(x in json[i]){ 
     console.log(x); 
     newObj[x] = json[i][x];  
    } 
} 

JS скрипку:http://jsfiddle.net/wVGah/

1

Использование JQuery .extend функции, как это:

var json = [{"Name": "Nikhil","Surname": "Agrawal"},{"profession": "java developer","experience":"2 years"},{"company": "xyz","city":"hyderabad"}]; 

var json2 = json[0]; 

for(var i = 1; i<json.length; i++){ 
    $.extend(json2,json[i]); 
} 

Here is a working Fiddle

Смежные вопросы