限制JSON结果的数量

时间:2013-06-26 10:47:34

标签: javascript jquery json youtube

我正在尝试显示频道的前5个视频。但是我很难将它限制在五个。

var playListURL = 'http://gdata.youtube.com/feeds/api/users/example/uploads?v=2&alt=json&callback=?';
var videoURL= 'http://www.youtube.com/watch?v=';
$.getJSON(playListURL, function(data) {
var list_data="";

    $.each(data.feed.entry, function(i, item) {
            var feedTitle = item.title.$t;
            var feedURL = item.link[1].href;
            var fragments = feedURL.split("/");
            var videoID = fragments[fragments.length - 2];
            var url = videoURL + videoID;
            var thumb = "http://img.youtube.com/vi/"+ videoID +"/default.jpg";
            list_data += '<a href="'+ url +'" title="'+ feedTitle +'"><div class="thumbcrop" style="background-image:url('+thumb+');background-size:cover; background-position:center;"></div></a>';
    });
$(list_data).appendTo(".videoClass");
});

我怎样才能做到这一点?我已经尝试了while(i<6)if(i<6)等不成功的条款,但它们都没有显示任何结果。

2 个答案:

答案 0 :(得分:3)

如果您不想获得所有结果,请不要使用每个 首先迭代所有结果。就那么简单。对于有限和已知数量的步骤,使用简单逻辑:

for (var i = 0; i <= 4; i++) {
    var item = data.feed.entry[i];
    // your other stuff goes here
}

...或者,正如其他状态正确一样,首先将您的查询省略为5,然后自由使用each

答案 1 :(得分:3)

在您要求提供结果的网址中,您可以添加额外的参数&max-results=5,以便限制Feed的数量。

所以你会有

var playListURL = 'http://.../uploads?v=2&alt=json&max-results=5&callback=?';

有关youtube数据api parameters

的更多信息
相关问题