ColdFusion serializeJSON日期格式(bug?)

时间:2016-02-11 16:36:51

标签: json coldfusion

当我们通过包含日期的查询(在这种情况下,来自SQL Server,但它可能是其他日期数据)时,我注意到了serializeJSON的一些有趣的事情。

当我在查询之前检查查询时,日期如下所示:

2000-09-05 00:00:00.0

生成的JSON如下所示:

{"COLUMNS":["START_DATE"],"DATA":[["September, 05 2000 00:00:00"]]}

我从文档中了解到日期是可以在JavaScript Date对象中使用的。除了有争议的设计决定,假设每个人都希望日期格式化,以及没有提供禁用这种强制性帮助的方法,我注意到逗号位于一个奇怪的位置。

我希望September 05, 2000 00:00:00而不是在月之后使用逗号。

有没有办法让serializeJSON函数单独保留日期或指定格式字符串?如果不是,我想我会在生成修复损坏之后使用像regexreplace这样的东西(因为php网站消耗输出并不能识别逗号后的版本作为有效日期)。

1 个答案:

答案 0 :(得分:3)

在您的查询中而不是

SELECT START_DATE
FROM ...

使用

SELECT convert(varchar(25), START_DATE, 120) as START_DATE
FROM ...

然后serializeJSON会把它当作一个字符串处理,并且不管它。