I need to iterate over every element in a JSON object, and I’m having trouble working out a way to count the number of elements in that object so I can use a for loop to iterate. Here’s my object:
this.worldData =[
{"0":{"1":"0", "2":"0"},
"1":{"1":"0", "2":"0"},
"2":{"1":"0", "2":"0"}}
];
And what I’m trying:
alert(this.worldData.length);
Problem is, it always returns 1, no matter how many elements I put into the JSON object.
Do you have control over the JSON data? The length is returning 1 because there is only one element in the array. This is because of the way the JSON data is structured here. If you want something easier to iterate over, you would want something like this:
Note that objects (denoted with
{}) don’t have a length property, while arrays (denoted with[]) do.