2017-09-05 29 views
3

我无法访问DATA数组内的数字,这将是COLUMNS中提到的ID。从JSON数组中挑选第一个元素,jquery没有标识符

我的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

你试过像这样'DATA [0] [0]' – guradio

+0

现在我要感谢Rory McCrossan的回答。 –

回答

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 
 
    } 
 
}

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": "..."} 
] 
相关问题