JQuery: Mesclar vários resultados JSON
Situação: O usuário deseja importar a lista de reprodução do YouTube em um site JQuery usando a API JSON do YouTube.
Problema: O YouTube devolve apenas as primeiras 50 entradas, mas as listas de reprodução podem ter mais de 100 entradas (o comprimento é fornecido por 'totalItems' na resposta JSON). Todas as entradas precisam ser mescladas como 1 objeto e precisam ser inseridas em uma função de saída no final.
Entrada 1-50:http://gdata.youtube.com/feeds/api/playlists/84780DAC99E1A285?v=2&alt=jsonc&max-results=50&start-index=1
Entrada 50-100:http://gdata.youtube.com/feeds/api/playlists/84780DAC99E1A285?v=2&alt=jsonc&max-results=50&start-index=50
Código atual:
function fetchPlaylist(pid) {
var the_url = 'http://gdata.youtube.com/feeds/api/playlists/' + encodeURIComponent(pid) + '?v=2&alt=jsonc&max-results=50';
$.ajax({
type: "GET",
url: the_url,
dataType: "jsonp",
success: function (responseData, textStatus, XMLHttpRequest) {
if (responseData.data != null) {
if (responseData.data.items) {
outputFunction(responseData.data.items);
} else {
console.log('No results for playlist: "' + pid + '"');
}
}
}
});
}
Pergunta, questão:
Qual é a maneira mais eficiente de repetir as chamadas JSON até que todas as entradas sejam recebidas?
Como combinar as diferentes respostas em um objeto?
O que eu tentei:
Mesclando com o uso dehttp://api.jquery.com/jQuery.extend/ , ficou preso por causa da situação complexa / aninhada