我正在使用themoviedb.org的API来检索有关电影的信息。它正在返回this JSON data。
我需要以两种不同的方式过滤它,但不一定在同一个回调中。在一个实例中,我只需要返回类型,在另一个实例中,我需要返回仅 size.toLowerCase() == 'original'
所在的“背景”,并且两个实例都在success
中进行对于ajax调用,即:
$.ajax({
url: "http://api.themoviedb.org/2.1/Movie.getInfo/en/json/API_KEY/" + filmID,
dataType: "jsonp",
context: document.body,
success: function(data){
...
}
});
grep或map会在这里使用吗?无论如何,我如何有效地检索此信息?
答案 0 :(得分:0)
你将使用grep过滤掉你想要的正确的东西并将它们放在另一个数组中,map将通过对每个元素执行特定的功能来向JSON添加更多内容
var results = array();
$.ajax({
url: "http://api.themoviedb.org/2.1/Movie.getInfo/en/json/API_KEY/" + filmID,
dataType: "jsonp",
context: document.body,
success: function(data){
data = eval(data);
results = $.grep(data, function(data) {
return data[0].posters.image.size == "original";
});
}
});
答案 1 :(得分:0)
听起来像是$.map
的工作 - 如果你只需要返回类型,$.map
将允许你构建一个只包含对象部分的数组,而$.grep
将构建一个完整的电影对象数组。