我无法访问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]);
}
}
答案 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": "..."}
]