ColdFusion serializeJSON日期格式(错误?)

jin*_*ula 5 coldfusion json

当我传递一个包含日期的查询(在这种情况下,来自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网站不会将逗号后的版本识别为有效日期).

Ale*_*ban 5

在您的查询中而不是

SELECT START_DATE
FROM ...
Run Code Online (Sandbox Code Playgroud)

SELECT convert(varchar(25), START_DATE, 120) as START_DATE
FROM ...
Run Code Online (Sandbox Code Playgroud)

然后 serializeJSON 会将其视为一个字符串并将其保留。

  • 对于 MySQL,我使用 SELECT CAST(START_DATE as char) as START_DATE 作为解决此问题的方法。 (2认同)