当我们通过包含日期的查询(在这种情况下,来自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网站消耗输出并不能识别逗号后的版本作为有效日期)。
答案 0 :(得分:3)
在您的查询中而不是
SELECT START_DATE
FROM ...
使用
SELECT convert(varchar(25), START_DATE, 120) as START_DATE
FROM ...
然后serializeJSON会把它当作一个字符串处理,并且不管它。