【发布时间】:2014-01-17 11:54:44
【问题描述】:
如何将包含 datetime.date 对象的 python 列表序列化为 javascript Date 对象的 JSON 数组?例如:
lst = [datetime.date(2013, 12, 30), datetime.date(2013, 12, 31)]
print serialize(lst)
# should print "[new Date(2013, 12, 30), new Date(2013, 12, 31)]"
我已经尝试使用自定义处理程序 json.dumps,但处理程序只能返回可序列化的对象,而不能返回实际的 JSON 语法。
【问题讨论】:
-
您不能拥有“...JavaScript
Date对象的 JSON 数组”。您可以拥有一个 JSON 数组,或您可以拥有一个包含Date对象的 JavaScript 数组。 JSON != JavaScript,而 JSON 没有任何日期的概念。 -
@T.J.Crowder 感谢您的澄清,那么我怎样才能拥有一个包含 Date 对象的 javascript 数组?
-
基本上,使用
.isoformat()。Date类型在 JSON 中不受支持。 -
@zsong 谢谢。数组是否为 JSON 并不重要,javascript 也可以。如果我使用 .isoformat,我将不得不在 javascript 中对数组进行另一次传递,以将值转换为
Date对象,这是我不想做的事情。 -
当心 - 当你在 JavaScript 中使用
new Date(...)时,月份的范围是 0-11。在 python 中,它们是 1-12。
标签: javascript python json datetime serialization