jQuery -Parsing JSON 데이터 - 변수 이름에 문제가 있음
-
22-07-2019 - |
문제
첫 번째는 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'];
제휴하지 않습니다 StackOverflow