在JavaScript中解析记录集

时间:2017-04-09 11:57:06

标签: javascript sql sql-server node.js

我试图在我的localhost网页上使用Google Charts显示实时信息中心,从SQL Server表中获取数据。 我已成功连接到数据库并在localhost上显示数据。

我被困的地方是,为了在Google Charts中绘制饼图,我需要从数据库查询中获取4个整数并将它们作为百分比。 我的问题是解析数据库响应,这样我就可以单独访问每个整数。

我在localhost中的回答如下:

 {
"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
]
}     

我正在尝试访问

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

并将它们设置为JavaScript变量,将它们操纵为百分比并将它们粘贴到

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

1 个答案:

答案 0 :(得分: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; }