2017-04-09 3 views
0

私はlocalhostウェブページにGoogle Chartsを使用してライブダッシュボードを表示しようとしており、SQL Serverテーブルからデータを収集しています。 DBに正常に接続し、localhostにデータを表示しました。JavaScriptのレコードセットの解析

Google Chartsで円グラフを描画するには、DBクエリから受け取った4つの整数を取り出してパーセントにする必要があります。 私の問題はDB応答を解析しているので、各整数に個別にアクセスできます。

localhostでの私の応答は次のようになります。私は

"Braking_Events": 1441, 
"Acceleration_Events": 2480, 
"Cornering_Events": 1270, 
"Speeding_Events": 2863 

にアクセスして、JavaScriptの変数にそれらを設定し、割合にそれらを操作し、

にそれらを固執しようとしています

{ 
"recordsets": [ 
[ 
{ 
"Braking_Events": 1441, 
"Acceleration_Events": 2480, 
"Cornering_Events": 1270, 
"Speeding_Events": 2863 
} 
] 
], 
"recordset": [ 
{ 
"Braking_Events": 1441, 
"Acceleration_Events": 2480, 
"Cornering_Events": 1270, 
"Speeding_Events": 2863 
} 
], 
"output": {}, 
"rowsAffected": [ 
1 
] 
}  

function drawChart() { 

    var data = google.visualization.arrayToDataTable([ 
     ['Braking_Events', 1441], 
     ['Acceleration_Events',  2480], 
     ['Cornering_Events',  1270], 
     ['Speeding_Events', 22863] 
    ]); 

    var options = { 
     title: 'Safety Distribution' 
    }; 

    var chart = new google.visualization.PieChart(document.getElementById('piechart')); 

    chart.draw(data, options); 
    } 
+0

@NinaScholz、いいえ、私は、私は自分のコード内で一度だけ 'recordset'を送信していますので、彼らが現れる理由はまったくわからを両方を必要としません。 –

答えて

0

オブジェクトのキーを繰り返してマップすることができますキーと値の部分の新しい配列。

var data = { recordsets: [[{ Braking_Events: 1441, Acceleration_Events: 2480, Cornering_Events: 1270, Speeding_Events: 2863 }]], recordset: [{ Braking_Events: 1441, Acceleration_Events: 2480, Cornering_Events: 1270, Speeding_Events: 2863 }], output: {}, rowsAffected: [1] }, 
 
    result = Object.keys(data.recordset[0]).map(function (k) { 
 
     return [k, data.recordset[0][k]]; 
 
    }); 
 

 

 
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }