从JSON数组中选择第一个元素,没有带jquery的标识符

时间:2017-09-05 08:40:39

标签: javascript jquery json

我无法访问DATA数组中的数字,这将是COLUMNS中提到的ID。

我的JSON如下:

{
  "COLUMNS": [
    "ID",
    "DESCRIPTION",
    "DATE"
  ],
  "DATA": [
    [
      53,
      "Try to do something test123",
      "September, 05 2017 00:00:00 +0100"
    ]
  ]
}

我目前的尝试就是这个,但有了这个,我得到了整个3个元素

  var jsonLength= JSON.DATA.length;

  for (dataIndex = 0; dataIndex < jsonLength; dataIndex++) {

      var dataLength= JSON.DATA[dataIndex].length;

      for (noteIndex = 0; noteIndex < dataLength; noteIndex++) {

          alert(JSON.DATA[dataIndex]);

      }
  }

2 个答案:

答案 0 :(得分:4)

您的代码几乎是正确的,您只是缺少2D DATA数组上的第二个索引访问器。您可以使用循环中的noteIndex递增变量:

var JSON = {
  "COLUMNS": [ "ID", "DESCRIPTION", "DATE" ],
  "DATA": [ 
    [ 53, "Try to do something test123", "September, 05 2017 00:00:00 +0100" ] 
  ]
}
var jsonLength = JSON.DATA.length;

for (dataIndex = 0; dataIndex < jsonLength; dataIndex++) {
  var dataLength = JSON.DATA[dataIndex].length;
  for (noteIndex = 0; noteIndex < dataLength; noteIndex++) {
    console.log(JSON.DATA[dataIndex][noteIndex]); // note the additional [] here
  }
}

答案 1 :(得分:2)

 var jsonLength= JSON.DATA.length;

  for (var i = 0; i < jsonLength; i++) {

      var note = JSON.DATA[i]
      var id = note[0] // access id value

  }

此外,如果您是服务器的所有者,为什么不返回更合适和首选的json结构? :

[
    {"id": 1, "description": "..."},
    {"id": 1, "description": "..."}
]