在JSON javascript中查找和替换

时间:2016-02-20 18:53:16

标签: javascript json d3.js

我正在使用d3.js创建图形,我使用JSON文件作为输入。我需要解析x轴的日期和时间格式。这是我试过的代码。

d3.json('data/fake_users11.json', function(data) {

var parseDate = d3.time.format("%Y-%m-%d %H:%M:%S").parse;
var old = JSON.stringify(data).replace(/\//g, "-");
data = JSON.parse(old); //convert back to array
data.forEach(function(d) {
    d.date = parseDate(d.date);
});

json文件是这样的

[
    {
        "date": "02\/18\/2016 18:02:38",
        "value": 10
    },
    {
        "date": "02\/18\/2016 18:02:45",
        "value": 20
    },
    {
        "date": "02\/18\/2016 18:02:50",
        "value": 30
    }
]

所需格式为02-18-2016 18:02:50。但我只是得到一个错误。我知道我很接近。有人能指出这里的错误吗? 感谢。

1 个答案:

答案 0 :(得分:0)

我认为你使用了错误的格式。

这一年是你日期的结尾,但是你正试图在开头解析它:

var parseDateWrong = d3.time.format("%Y-%m-%d %H:%M:%S").parse;

应该是:

var parseDateOk = d3.time.format("%m-%d-%Y %H:%M:%S").parse;

请参阅jfiddler了解会发生什么

我认为您现在可以直接使用您收到的json,而无需用 - 替换 - :

var parseDate = d3.time.format("%m/%d/%Y %H:%M:%S").parse;

data.forEach(function(d) {
    d.date = parseDate(d.date);
});