user1830833 user1830833 - 3 months ago 16
Javascript Question

Looping through nested json object

I have a badly designed JSON object which unfortunately I cannot change at this moment which contains a number of objects. Here is an example of what I am working with:

var land = [
{"name":"city","value":"Los Angeles"},
{"name":"state","value":"California"},
{"name":"zip","value":"45434"},
{"name":"country","value":"USA"}
];


Here is how I am looping through i:

$(document).ready(function(){
$.each(land, function(key,value) {
$.each(value, function(key,value) {
console.log(key + ' : ' + value);
})
});
})


The result is as follows:

name : city
value : Los Angeles
name : state
value : California
name : zip
value : 45434
name : country
value : USA


My goal is to have a result like this:

city : Los Angeles
state : California
zip : 45434
country: USA


What am I missing here? How do I achieve my intended result? Thank you in advance :)

Answer

You can do it using ecmascript 5's forEach method:

land.forEach(function(entry){ 
      console.log(entry.name + " : " + entry.value) 
} );

or use jquery to support legacy web browsers:

$.each(land,function(index,entry) {
     console.log(entry.name + " : " + entry.value)
});
Comments