jQuery - analisi dei dati JSON - Problemi con il nome della variabile
-
22-07-2019 - |
Domanda
Il mio primo approfondimento nel lavorare con i dati JSON. Ho un po 'di esperienza nell'uso di jQuery.
Sto pubblicando questo URL (tumblr api): jyoseph.com/api/read/json
Quello che sto cercando di fare è generare il json che viene restituito. Quello che ho finora:
$(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>');
});
});
});
Vedi il mio post su jsbin per l'intero script: http://jsbin.com/utaju/edit
Alcune delle chiavi di tumblr hanno " - " trattini in essi, e questo sembra causare un problema. Come puoi vedere " foto-url-500 " o un'altra "didascalia fotografica" sta causando la rottura dello script, sta generando NaN.
C'è un problema con i trattini nei nomi delle chiavi? O sto sbagliando tutto questo?
Soluzione
Se ci sono trattini nei nomi, dovrai accedervi in ??modo diverso. Modifica var photo500 = this.photo-url-500;
per leggere var photo500 = this [" photo-url-500 "];
.
Altri suggerimenti
Si noti che è meglio non aggiungere all'interno di ogni iterazione. Meglio aggiungere ad una stringa o spingere ad un array quindi aggiungere una volta dopo che l'iteratore ha terminato. L'aggiunta al dom è costosa.
Utilizza la la notazione di parentesi per accedere ai membri:
var photo500 = this['photo-url-500'];