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?

È stato utile?

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']; 
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top