views:

380

answers:

2

Hello all.

I'm trying to populate a page with X entries from my tumblr feed, and I'm wondering how I can only pull that X number from the JSON object it returns.

Here's my code, pulled from another Stack Overflow post and modified:

//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>'); 
    });
 });

I've tried using a while loop with a counter, but it just repeats everything X times before moving on to the next item in the list.

Thanks for any help.

+1  A: 

Use the Array.slice method on the post array. For example, to retrieve 10 items:

$.getJSON("http://tumblr-address/api/read/json?callback=?", 
  function(data) {
    $.each(data.posts.slice(0, 10), function(i,posts){
      // ...
John Millikin
Wouldn't that be a terrible waste of bandwidth?
Ates Goral
A: 

You can use the num query parameter:

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

And I don't think you need to have a blank callback parameter. You're not doing JSONP.

Ates Goral