JSON内联日期转换

时间:2018-04-28 14:12:15

标签: arrays json graph metrics graphic

我有像这里的D3数据图片:https://www.metricsgraphicsjs.org/examples.htm#lines,带有示例代码

MG.data_graphic({
title: "Singleton",
description: "Handling a solitary data point.",
data: [{'date': new Date('2015-03-05T21:00:00Z'), 'value': 12000}],
width: 600,
height: 200,
right: 40,
target: '#singleton'
});

不同之处在于我将数据存储到数据库中。但我显示日期有问题。我的JSON数据(从MySQL中提取)看起来像这样:

var data1 = [
 [
    {
     "date": "2018-04-28T13:42:55Z",
     "value": 20.8,
     "added": "2018-04-28T13:42:55Z"
    }
 ],
 [
    {
     "date": "2018-04-28T13:42:55Z",
     "value": 22.8,
     "added": "2018-04-28T13:42:55Z"
    }
 ],
 [
    {
    "date": "2018-04-28T13:42:55Z",
    "value": 23.9,
    "added": "2018-04-28T13:42:55Z"
    }
 ],
 [
    {
    "date": "2018-04-28T13:42:55Z",
    "value": 21.3,
    "added": "2018-04-28T13:42:55Z"
    }
 ]
]; 

当我尝试显示该数据时,它不起作用,向我显示<path> attribute d: Expected number, "MNaN,86.570057581…"等错误 但另一方面,如果我设置另一个变量,例如

 var data2 = [
               [
                 {'date': new Date('2015-03-05T21:07:00Z'), 'value': 12000},
                 {'date': new Date('2015-03-05T21:10:00Z'), 'value': 5500},
                 {'date': new Date('2015-03-05T21:15:00Z'), 'value': 1000}
                ],
                [
                 {'date': new Date('2015-03-05T21:05:00Z'), 'value': 18000},
                 {'date': new Date('2015-03-05T21:07:00Z'), 'value': 15000},
                 {'date': new Date('2015-03-05T21:15:00Z'), 'value': 7000}
                ]               
             ];

这第二个例子有效,我想知道这个“新Date()”对数据的作用。如何“修复”第一个data1数组并将其存储在另一个具有正确日期的变量中? - 我确实试过这种类型的日期:日期星期六2018年4月28日13:56:55 GMT + 0000(UTC)但这没有帮助,没有用。像这样:

[
    {'date': 'Apr 28 2018 13:57:55 GMT+0000 (UTC)', 'value': 18000},
    {'date': 'Apr 28 2018 13:58:55 GMT+0000 (UTC)', 'value': 15000},
    {'date': 'Apr 28 2018 13:59:55 GMT+0000 (UTC)', 'value': 7000}
]

这不起作用。 “new Date()”是否将日期和时间转换为整数或字符串或其他内容?

我只是想找到一种方法来更改data1变量并将其日期转换为正确的值,以便能够在图表上显示它们。

谢谢你们!

0 个答案:

没有答案