같은

2012-02-03 2 views
3

내가 매우 큰 JSON을 객체 :같은

raw_obj= {"001" : {....}, "002" : {....}}; 

난 그냥 서버에서 반환 된 다른 JSON 객체가 있습니다

search_result = {["001", "005", "123"]}; 

내가

같은 것을하고 싶지을
$.each(search_result, function(i,val){ 
alert(raw_obj.search_result[i]); 
}); 

가능합니까? 실용적으로 "raw_json"에 약 2000 개의 요소가 있기 때문에이 두 객체를 반복하고 싶지 않습니다. 즉 최악의 경우는 하나의 쿼리 당 2000x2000 회 루프입니다.

+1

* 두 개체를 어떻게 * 일치 시키시겠습니까? 경기 조건은 무엇입니까? –

+0

'{[ "001"], [ "005"], [ "123"]}'그것은 * 무엇입니까? 이것이 서버에서 반환되었는지 확인 하시겠습니까? – dfsq

+2

search_result는 유효한 개체가 아닙니다. – xdazz

답변

1
var raw_obj= {"001" : {'...'}, "002" : {'...'}}; 
var search_results = ["001", "005", "123"]; // just an array 

$.each(search_results, function(i, result) { 
    alert(raw_obj[result]); 
}); 

검색 결과는 개체 (즉,지도)가 아닌 배열 (즉, 목록)이므로 위와 같이 구문을 수정해야합니다. 서버 응답을 제어 할 수없는 경우 문자열 구문 분석을 사용하여 새 배열을 작성하십시오.