匹配2 JSON对象

问题描述:

我有一个非常大的JSON,如:匹配2 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

*您要如何匹配这两个对象?比赛的标准是什么? – 2012-02-03 09:47:17

+0

'{[“001”],[“005”],[“123”]}'那*是什么*?你确定这是从服务器返回? – dfsq 2012-02-03 09:49:00

+2

search_result不是一个有效的对象。 – xdazz 2012-02-03 09:50:38

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

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

搜索结果是一个数组(即列表),而不是一个对象(即map),所以语法应该如上修改。如果您无法控制服务器响应,请使用字符串分析来构建新阵列。