匹配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次。
答
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),所以语法应该如上修改。如果您无法控制服务器响应,请使用字符串分析来构建新阵列。
*您要如何匹配这两个对象?比赛的标准是什么? – 2012-02-03 09:47:17
'{[“001”],[“005”],[“123”]}'那*是什么*?你确定这是从服务器返回? – dfsq 2012-02-03 09:49:00
search_result不是一个有效的对象。 – xdazz 2012-02-03 09:50:38