jQuery-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の一部のキーには&quot;-&quot;があります。それらの中にハイフンがあり、それが問題を引き起こしているようです。ご覧のように、「photo-url-500」はまたは別の「写真キャプション」スクリプトが破損し、NaNが出力されています。
キー名にハイフンが含まれていることに問題はありますか?それとも、これについてすべて間違っていますか?
解決
名前にダッシュが含まれている場合は、別の方法でアクセスする必要があります。 var photo500 = this.photo-url-500;
を var photo500 = this [&quot; photo-url-500&quot;];
に変更します。
他のヒント
各反復内に追加しないことをお勧めします。文字列に追加するか、配列にプッシュして、イテレータが終了した後に1回追加する方が適切です。 DOMへの追加は高価です。
ブラケット表記を使用してメンバーにアクセスします
var photo500 = this['photo-url-500'];
所属していません StackOverflow