JSON 序列化时,如何处理日期类型
2020-03-06 本文已影响0人
luckybabying
1.JSON 序列化时,不支持datatime类型数据。
支持自动处理数据里类型有:
str ,int list,tuple,dict,bool,None
2.如何处理datatime类型数据
在转换类(DateToJson)的default方法中手工完成对日期类型的值处理。
3.代码示例
import json
from datetime import datetime, date
class DateToJson(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime):
return obj.strftime('%Y-%m-%d %H-%M-%S')
elif isinstance(self, data):
return obj.strftime('%Y-%m-%d ')
else:
return json.JSONEncoder
d = ['name', 5, True, (1, 2, 3), {'a': 1, 'b': 2}, {'data':datetime.now()} ]
d = {'name': 'Bill', 'date': datetime.now()}
print(json.dumps(d, cls=DateToJson, ensure_ascii=False))