在JSON javascript中查找和替换
我正在使用d3.js创建图形,并使用JSON文件作为输入。我需要解析x轴的日期和时间格式。这就是我试过的代码在JSON javascript中查找和替换,javascript,json,d3.js,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); //conver
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。但我只是犯了个错误。我知道我很接近。有人能指出这里的错误吗?
谢谢。我想你用错格式了 在您的日期中,年份已经结束,但您正试图在开始时解析它:
var parseDateWrong = d3.time.format("%Y-%m-%d %H:%M:%S").parse;
它应该是:
var parseDateOk = d3.time.format("%m-%d-%Y %H:%M:%S").parse;
请参阅以了解发生了什么
我认为您现在可以直接使用接收到的json,而不必将/替换为-:
var parseDate = d3.time.format("%m/%d/%Y %H:%M:%S").parse;
data.forEach(function(d) {
d.date = parseDate(d.date);
});
“我只是犯了个错误”这听起来确实像是一条信息,应该包含在您的问题中。错误似乎来自d3.js,因为数据不是d3时间格式解析所需的数据。向
foreach
函数添加控制台.log
,以显示发送到parseData
的值和结果。很漂亮!是的,解决了。!我甚至不认为这是个问题!我没有更改你的代码,但我认为没有必要用-是的,但我希望它是-这就是为什么我要替换它:p…无论如何,谢谢兄弟:)