2012-12-20 13 views
7

Ho alcuni JSON (var data) che assomiglia a questo:jQuery loop through json?

{"success":"true","keywords":["firstkeyword","secondkeyword"]} 

E nel tentativo di collegare attraverso le parole chiave utilizzando questo codice:

  data.keywords.each(function(e){ 
       $('#campaign_keywords').append("<p>"+e+"</p>"); 
      }); 

ma ho l'errore di

Uncaught TypeError: Object firstkeyword,secondkeyword has no method 'each' 

risposta

13

È necessario scorrere in questo modo:

$.each(data.keywords, function (i, v) { 
    $('#campaign_keywords').append("<p>"+data.keywords[i]+"</p>"); 
}); 

jQuery.each()

+2

Basta usare 'v' per accedere ai valori. – Shef

3

Questo perché è un array e deve essere un oggetto jquery per poter utilizzare le funzioni jquery. Prova:

$.each(data.keywords, function(index, value){...}); 
1

E 'un array JavaScript, jQuery non oggetto. basta applicare $ su di esso per renderlo oggetto jquery come

$(data.keywords).each(function(e){ 
     $('#campaign_keywords').append("<p>"+e+"</p>"); 
    });