2011-08-24 5 views
0

javascript의 json 배열에 어떻게 추가 할 수 있습니까?javascript/jQuery의 json 배열에 추가

나는 각기 다른 형식의 json이나 유사한 형식을 반환하는 다양한 소스에서 데이터를 가져 왔습니다. 모든 배열을 하나의 배열로 가져와야하지만 어떻게해야하는지 알 수 없습니다.

제 1 세트는 다음과 같이 배열이다

[ 
Object {id="12341234234", created_time="12345678"}, 
Object {id="567856785678", created_time="87654321"}, ... more items ... 
] 

그래서, I 번째 변경해야 번째 세트가 북에서 인출하고,이처럼되는

[ 
Object {id="70", type="ab", dateadded="12345678"}, 
Object {id="85", type="ab", dateadded="87654321"}, ... more items ... 
] 

그것이 'type'을 갖도록 설정하고, 'created_time'대신에 'dateadded'를 가지며,이 모든 것을 하나의 배열로 가져 와서 'dateadded'에 정렬 될 수 있도록해야합니다.

어떻게해야할지 모르겠습니다. 누구든지 도와 줄 수 있습니까?

감사합니다.

+0

이것은 유효한 JSON 문자열이 아닙니까? – jantimon

답변

2

대신 당신이 위에 인용 한 무엇의 실제 유효 JSON을 가지고 가정 :

var jsonOld = '[{"id":"70","type":"ab","dateadded":"12345678"},{"id":"85","type":"ab","dateadded":"87654321"}]', 
    jsonNew = '[{"id":"12341234234","created_time":"12345678"},{"id":"567856785678","created_time":"87654321"}]'; 

먼저 실제 자바 스크립트 배열로이 값을 구문 분석 : 이미 대신 실제 자바 스크립트 배열이있는 경우 (

var mainArr = JSON.parse(jsonOld), 
    newArr = JSON.parse(jsonNew); 

JSON 문자열을 건너 뛰고 위의 단계를 건너 뜁니다.)

newArr을 반복하고 변경해야하는 속성을 변경하십시오.

for (var i = 0, il = newArr.length; i < il; i++) { 
    newArr[i].type = 'ab'; 
    newArr[i].dateadded = newArr[i].created_time; 
    delete newArr[i].created_time; 
} 

그리고 newArrmainArr에 연결할 :

mainArr = mainArr.concat(newArr); 

그리고 종류에 dateadded :

mainArr.sort(function(a, b) { return a.dateadded - b.dateadded; }); 

이됩니다에서 :

[{"id":"70","type":"ab","dateadded":"12345678"}, 
{"id":"12341234234","type":"ab","dateadded":"12345678"}, 
{"id":"85","type":"ab","dateadded":"87654321"}, 
{"id":"567856785678","type":"ab","dateadded":"87654321"}] 

See example

+0

감사합니다. 네, 제가 위에있는 것을 엉망으로 만들었지 만, 당신이 묘사 한 형태로 데이터가 있기 때문에 이것이 작동 할 것입니다. 다시 한번 감사드립니다. – Sharon

4

를 사용하여 첫 번째 배열의 푸시() 방법이 도움이

// for each item in second array 
    firstArray.push(convert(item)); 

function convert(obj) { 
    // Convert obj into format compatible with first array and return it 
} 

희망.

+0

+1 내 문제를보다 빠르고 간결하게 해결할 수 있습니다. 간결 FTW! – Rap