Получение определенного количества элементов JSON с помощью jQuery из канала tumblr - PullRequest
2 голосов
/ 26 мая 2010

Я пытаюсь заполнить страницу записями X из своего канала Tumblr, и мне интересно, как я могу извлечь только это число X из возвращаемого им объекта JSON.

Вот мой код, взятый из другого поста переполнения стека и измененный:

//Tumblr retrieval
$.getJSON("http://tumblr-address/api/read/json?callback=?", 
  function(data) {
    $.each(data.posts, function(i,posts){
      var title = this["regular-title"]; 
      var type = this.type; 
      var date = this.date; 
      var url = this["url-with-slug"];

      $('#sideRail ol').prepend('<li><p><a href=' +url +'>' + title + '</a></p><p>' + date + '</p></li>'); 
    });
 });

Я пытался использовать цикл while со счетчиком, но он просто повторяет все X раз, прежде чем перейти к следующему элементу в списке.

Спасибо за любую помощь.

Ответы [ 3 ]

10 голосов
/ 16 июля 2010

Вы можете использовать параметр запроса num:

$.getJSON("http://tumblr-address/api/read/json?num=20", ...

И я не думаю, что вам нужен пустой параметр callback. Вы не делаете JSONP.

2 голосов
/ 26 мая 2010

Используйте метод Array.slice для массива записей. Например, чтобы получить 10 элементов:

$.getJSON("http://tumblr-address/api/read/json?callback=?", 
  function(data) {
    $.each(data.posts.slice(0, 10), function(i,posts){
      // ...
1 голос
/ 28 августа 2011

старое сообщение, но информация обновлений не может повредить ... да, старый API позволял параметру num = указывать l8imit для возвращаемых элементов, новая версия Api 2 использует вместо него 'limit =' но по умолчанию 20, если не учтено.

...