循环遍历嵌套的json对象

use*_*833 5 javascript jquery json

我有一个设计糟糕的JSON对象,遗憾的是我此时无法更改其中包含许多对象.以下是我正在使用的示例:

var land = [
    {"name":"city","value":"Los Angeles"},
    {"name":"state","value":"California"},
    {"name":"zip","value":"45434"},
    {"name":"country","value":"USA"}
];
Run Code Online (Sandbox Code Playgroud)

这是我如何循环我:

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

结果如下:

name : city
value : Los Angeles
name : state
value : California
name : zip
value : 45434
name : country
value : USA
Run Code Online (Sandbox Code Playgroud)

我的目标是得到这样的结果:

city : Los Angeles
state : California
zip : 45434
country: USA
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?我如何实现预期的结果?先感谢您 :)

小智 5

你可以使用ecmascript 5的forEach方法来做到这一点:

land.forEach(function(entry){ 
      console.log(entry.name + " : " + entry.value) 
} );
Run Code Online (Sandbox Code Playgroud)

或使用jquery来支持旧版Web浏览器:

$.each(land,function(index,entry) {
     console.log(entry.name + " : " + entry.value)
});
Run Code Online (Sandbox Code Playgroud)