Json.dumps()时间问题解决

Py读取MongoDB获得的时间是datetime.datetime(2017, 3, 21, 2, 11, 21)格式,无法用json.dumps转成Json。
解决办法:
是重写构造json类,遇到日期特殊处理,其余的用内置的就行。

1
2
3
4
5
6
7
8
9
10
11
import json
import datetime
class DateEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime.datetime):
return obj.strftime('%Y-%m-%d %H:%M:%S')
elif isinstance(obj, date):
return obj.strftime("%Y-%m-%d")
else:
return json.JSONEncoder.default(self, obj)

调用:
json.dumps(self_data, cls=DateEncoder)