如何将包含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语法。
答案 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);
});