2

我正在使用 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}]
  1. 转换 json 数组格式。

  2. 直接将原始数据提供给 vis.js。

不知道该怎么做。
先感谢您!!!

4

1 回答 1

1

这将排列您的数组以使其符合您的规格:

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>

于 2015-04-10T16:34:29.160 回答