2 Stimmen

Beschränken Sie die Anzahl der JSON-Ergebnisse

Ich versuche, die Top 5 Videos eines Kanals anzuzeigen. Allerdings habe ich Schwierigkeiten, es auf nur fünf zu beschränken.

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 += '';
    });
$(list_data).appendTo(".videoClass");
});

Wie kann ich das erreichen? Ich habe (erfolglos) Klauseln wie while(i<6) und if(i<6) ausprobiert, aber keiner von ihnen zeigt überhaupt Ergebnisse an.

4voto

Petr Čihula Punkte 997

Wenn Sie nicht alle Ergebnisse erhalten möchten, verwenden Sie nicht jedes, das ohnehin durch alle Ergebnisse iteriert. Ganz einfach. Verwenden Sie für eine begrenzte und bekannte Anzahl von Schritten einfache Logik wie:

for (var i = 0; i <= 4; i++) {
    var item = data.feed.entry[i];
    // Ihr weiterer Code kommt hierhin
}

...oder, wie andere richtig sagen, lassen Sie Ihre Abfrage von Anfang an um 5 aus und verwenden Sie dann jedes frei.

4voto

topless Punkte 7789

In der URL, von der aus Sie Ihre Ergebnisse abrufen, können Sie zusätzliche Parameter &max-results=5 hinzufügen, um die Anzahl Ihrer Feeds zu begrenzen.

so werden Sie haben

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

Mehr über die YouTube-Daten-API Parameter

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X