Jonah Katz
Jonah Katz

Reputation: 5288

jQuery loop through json?

I have some json (var data)that looks like this:

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

And im trying to loop through the keywords using this code:

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

But i get the error

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

Upvotes: 7

Views: 11426

Answers (3)

PhearOfRayne
PhearOfRayne

Reputation: 5050

You need to loop through it like this:

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

jQuery.each()

Upvotes: 13

Sarim
Sarim

Reputation: 3219

Its a javascript array, not jQuery object. just apply $ over it to make it jquery object like

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

Upvotes: 1

Jason Whitted
Jason Whitted

Reputation: 4024

That's because it's an array and it needs to be a jquery wrapped object in order to use jquery functions. Try:

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

Upvotes: 3

Related Questions