我第一次尝试使用JSON数据。我有一些使用jQuery的经验。
我发布到此网址(tumblr api):jyoseph.com/api/read/json
我要做的是输出返回的json。到目前为止我所拥有的:
$(document).ready(function(){
$.getJSON("http://jyoseph.com/api/read/json?callback=?",
function(data) {
//console.log(data);
console.log(data.posts);
$.each(data.posts, function(i,posts){
var id = this.id;
var type = this.type;
var date = this.date;
var url = this.url;
var photo500 = this.photo-url-500;
$('ul').append('<li> ' +id+ ' - ' +type+ ' - ' +date+ ' - ' +url+ ' - ' +photo500+ ' - ' + ' </li>');
});
});
});
请参阅我的jsbin帖子了解整个脚本:http://jsbin.com/utaju/edit
来自tumblr的一些键在其中带有“ - ”连字符,这似乎导致了问题。你可以看到“photo-url-500”或其他“照片标题”导致脚本中断,它正在输出NaN。
键名中有连字符有问题吗?或者我是不是错了?
答案 0 :(得分:20)
如果名称中有短划线,则需要以不同方式访问它们。将var photo500 = this.photo-url-500;
更改为var photo500 = this["photo-url-500"];
。
答案 1 :(得分:3)
请注意,最好不要在每次迭代中追加。最好附加到字符串或推送到数组,然后在迭代器完成后追加一次。附加到dom是昂贵的。
答案 2 :(得分:1)
使用bracket notation访问成员:
var photo500 = this['photo-url-500'];