user823527
user823527

Reputation: 3712

Reading a json encoded array in javascript

This php function returns a json encoded object to a javascript through ajax. I create a variable with this json object with stringify.

var event_id = JSON.stringify(rdata.event_id);

When I print that variable it looks like this.

[{"0":"e20111129215359"},{"0":"e20120301133826"},{"0":"e20120301184354"},{"0":"e20120301193226"},{"0":"e20120301193505"},{"0":"e20120303182807"},{"0":"e20120303205512"},{"0":"e20120303211019"},{"0":"e20120306182514"},{"0":"e20120307122044"}]

How do I access each element of event_id?

Upvotes: 0

Views: 2070

Answers (1)

Michael Berkowski
Michael Berkowski

Reputation: 270607

Don't stringify it. It's already a valid JavaScript object, so just access it directly with:

rdata.event_id[0]["0"];
// e20111129215359

// Or read them in a loop
for (var i=0; i<rdata.event_id.length; i++) {
   console.log(rdata.event_id[i]["0"];
}

The value rdata.event_id is an array [] containing a bunch of object literals {} each having just one property "0". Since the property is a number instead of a string, you need to use the ["0"] syntax to access it, rather than the normal object dot operator.

Upvotes: 2

Related Questions