我正在使用Node.Js拧一个网站。我从调用一些 API 中获取数据并以以下格式返回给我 JSON 数组:
[{ '2015-04-08T17:12:05+00:00': 103.7 },{ '2015-04-08T17:13:05+00:00': 109.5 },{ '2015-04-08T17:14:05+00:00': 106 },{ '2015-04-08T17:15:05+00:00': 112.6 }]
所以我想使用vis.js
库来显示这些数据,如下所示:
可视化示例
如果我错了,请纠正我。我认为vis.js
只接受这种格式的数据集:
[{x: '2014-06-11', y: 10},{x: '2014-06-12', y: 25},{x: '2014-06-13', y: 30},{x: '2014-06-14', y: 10}]
转换 JSON 数组格式。
直接将原始数据馈送到 VIS.js。
不知道该怎么做。
提前谢谢你!!
这将排列您的数组以使其符合您的规格:
var dataBefore = [{ '2015-04-08T17:12:05+00:00': 103.7 },{ '2015-04-08T17:13:05+00:00': 109.5 },{ '2015-04-08T17:14:05+00:00': 106 },{ '2015-04-08T17:15:05+00:00': 112.6 }];
var dataAfter = [];
for(var i = 0; i < dataBefore.length; i++) {
var item = dataBefore[i];
for(date in item) {
dataAfter.push({x: date, y: item[date]});
}
}
console.log(dataAfter);
//added below for display the output
$(".results").append(JSON.stringify(dataAfter));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="results">
</div>