2013-06-26 1 views
1

채널의 상위 5 개 동영상을 표시하려고합니다. 그러나 나는 그것을 단지 5 개로 제한하려고 고심하고있다.JSON 결과의 제한 수

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)과 같은 (실패한) 절을 시도했지만 어느 것도 결과를 전혀 표시하지 않습니다.

+0

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

더 많이한다? 내가 잡지 않을 것이 있습니까? – Puuskis

답변

3

모든 결과를 얻고 싶지 않은 경우 각 결과를 사용하지 마십시오. 이 처음부터 모든 결과를 반복합니다. 그처럼 간단합니다. 단계의 제한 및 알려진 숫자는 간단한 논리를 사용하십시오 같이 다른 상태로 제대로

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

... 나, 처음에 5하여 쿼리를 ommit하고 자유롭게 each를 사용합니다.

+0

감사합니다. 나는 '각자'가 모든 단일 결과를 가져 오는 것을 깨닫지 못했다. 이것을 시도 할 것이다! – Ben

3

결과를 요청하는 url에 추가 매개 변수 &max-results=5을 추가하여 피드 수를 제한 할 수 있습니다.

그래서 당신은 당신이 당신의`playListURL`에서 매개 변수로`최대-results`를 사용하지 않는 이유가 거기에 유튜브 데이터 API를 parameters