使用javascript Date将datetime.date序列化为JSON

时间:2013-12-30 15:12:41

标签: javascript python json datetime serialization

如何将包含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语法。

1 个答案:

答案 0 :(得分:0)

JavaScript Date对象被json序列化为字符串。但是,您可以从此序列化字符串构造日期对象。 python datetime.date类提供的最接近的字符串似乎是isoformat

lst = [datetime.date(2013, 12, 30).isoformat(),
    datetime.date(2013, 12, 31).isoformat()]

在JavaScript方面,这些只是"2013-12-31"之类的字符串。您可以从中构建日期对象 - new Date("2013-12-30")。它可能看起来像:

lst = JSON.parse(lstJson);
lst.forEach(function (date) {
    var date = new Date(date);
});