嵌套的JSON数据访问元素

时间:2018-04-21 11:28:24

标签: javascript arrays json object

我使用console.log(responseJSON)并将此日志打印到屏幕,如下面的代码。所以我想只打印latlng,当我尝试使用console.log(responseJSON.markers.latlng)或者使用console.log(responseJSON.markers)时,它会打印undefined。

Array [
Object {
  "markers": Object {
    "index": "1",
    "latlng": Object {
      "latitude": "40.3565",
      "longitude": "27.9774",
    },
  },
},
Object {
  "markers": Object {
    "index": "3",
    "latlng": Object {
      "latitude": "40.3471",
      "longitude": "27.9598",
    },
  },
},
Object {
  "markers": Object {
    "index": "2",
    "latlng": Object {
      "latitude": "40",
      "longitude": "27.9708",
    },
  },
},]

如何打印和打印数据,例如用:

console.log(responseJSON.markers.latlng);

2 个答案:

答案 0 :(得分:3)

响应是一个数组。您必须使用索引来获取数组的每个元素。

例如responseJSON [0] .markers.latlong,依此类推。

答案 1 :(得分:1)

您可以使用简单的forEach循环

访问对象数组的内部内容

var responseJSON= [
 {
  "markers":  {
    "index": "1",
    "latlng":  {
      "latitude": "40.3565",
      "longitude": "27.9774",
    },
  },
},
 {
  "markers":  {
    "index": "3",
    "latlng":  {
      "latitude": "40.3471",
      "longitude": "27.9598",
    },
  },
},
 {
  "markers":  {
    "index": "2",
    "latlng":  {
      "latitude": "40",
      "longitude": "27.9708",
    },
  },
},];

responseJSON.forEach(function(currentElement){
   console.log(currentElement.markers.latlng)
})