2017-09-05 15 views
3

DATA配列内の数値にアクセスできません。これは列に記載されたIDになります。JSON Arrayの最初の要素を識別子なしで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

あなたはthis'DATAのように試してみました[0] [0] ' – guradio

+0

は今、私はロリーMcCrossanの答えのおかげを持っています。 –

答えて

4

を取得するあなたのコードは、あなただけだ、ほとんど正しいです2D DATA配列に2番目のインデックスアクセサがありません。あなたのループから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": "..."} 
] 
関連する問題