我的第一钻研与JSON数据工作。我有一点使用jQuery的经验,虽然。

我张贴到这个URL(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按键具有“ - ”连字符在其中,并且,似乎是引起问题。正如你所看到的“照片网址-500”或其他“照片说明”是导致脚本突破,它的输出为NaN。

是否有与键名有连字符的问题吗?还是我要对此都错了?

有帮助吗?

解决方案

如果有名称中的破折号,你需要以不同的方式访问它们。改变var photo500 = this.photo-url-500;读取var photo500 = this["photo-url-500"];

其他提示

请注意,最好不要每次迭代中追加。更好地追加到一个字符串或推到一个数组然后迭代器完成后追加一次。追加到DOM是昂贵的。

使用括号符号以访问成员:

var photo500 = this['photo-url-500']; 
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top