循环遍历包含JS中的对象数组的Object

时间:2017-03-06 11:58:51

标签: javascript arrays json loops object

我有一个ajax请求,它加载一个JSON文件并通过存储对象的引用来解析它。 我正试图找到一种可以循环访问对象的方法,但由于它的结构,我在控制台上出错。

以下是我正在解析的JSON示例:

{
  "markers": {
    "marker": [
      {
        "name": "john",
        "latitude": "53.4682282",
        "longitude": "-2.238547"
      },
      {
        "name": "david",
        "latitude": "53.4663409",
        "longitude": "-2.2328164"
      },
      {
        "name": "mathew",
        "latitude": "53.4668135",
        "longitude": "-2.2310998"
      }
    ]
  }
}

我尝试了以下js循环,但我似乎无法让它正常工作。 (N.B.从解析JSON中检索到的对象被引用为markers

markers.forEach(function(marker) {
  console.log(marker.name);
});

4 个答案:

答案 0 :(得分:1)

markers是包含数组marker的对象。您需要迭代marker

var obj = {
  "markers": {
    "marker": [{
        "name": "john",
        "latitude": "53.4682282",
        "longitude": "-2.238547"
      },
      {
        "name": "david",
        "latitude": "53.4663409",
        "longitude": "-2.2328164"
      },
      {
        "name": "mathew",
        "latitude": "53.4668135",
        "longitude": "-2.2310998"
      }
    ]
  }
}

obj.markers.marker.forEach(m => console.log(m.name));

答案 1 :(得分:0)

试试这个:

markers.marker.forEach(function(marker) {
  console.log(marker.name);
});

答案 2 :(得分:0)

我需要访问对象内的对象。即,

markers.markers.marker.forEach(function(marker) {
    console.log(marker.name);
});

答案 3 :(得分:0)

试试这个:

' markers.marker.map((ma)=> {   的console.log(ma.name); });`