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.
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.
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){
// ...
old post but updates info cant hurt... yes the old api allowed the num= parameter to specify a l8imit to returned items, the new Api version 2 uses 'limit=' instead. but defaults to 20 if left out.
精彩评论