Richard
Richard

Reputation: 289

Loop through JSON data in jQuery

Here is my JSON data:

{
    "comments": [{
        "id": "1",
        "message": "Finish as soon as possible! Cibai!",
        "task_id": "1",
        "user_id": "1",
        "date_created": "2015-02-06 00:00:00.000000"
    }, {
        "id": "19",
        "message": "Another message",
        "task_id": "1",
        "user_id": "1",
        "date_created": "2015-02-10 00:00:00.000000"
    }, {
        "id": "20",
        "message": "Comment about the header",
        "task_id": "1",
        "user_id": "1",
        "date_created": "2015-02-09 00:00:00.000000"
    }],
        "status": true
}

Here is my jQuery, problem is Iam getting null in the alert:

var ids = [];
$.each(e, function(i, item) {
    ids.push(item.id);
});
alert(JSON.stringify(ids));

Thanks

Upvotes: 0

Views: 36

Answers (1)

Rory McCrossan
Rory McCrossan

Reputation: 337560

The id property is part of the objects stored in the comments array. You need to loop over e.comments instead. Also, as you're building an array you can use map() instead of each():

var ids = $.map(e.comments, function(item) {
    return item.id;
});
alert(JSON.stringify(ids));

Example fiddle

Upvotes: 4

Related Questions