문제

첫 번째는 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의 키 중 일부는 "-"하이픈을 가지고 있으며, 그것은 문제를 일으키는 것 같습니다. "Photo-url-500"또는 다른 "Photo-Caption"으로 인해 스크립트가 나뉘어지면 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