2014-01-07 100 views
0

我有这样的,看起来像这样合并JSON对象为单一对象的数组使用jquery

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

JSON对象的数组,现在我所试图做的是结合整个阵列为单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