import json
import datetime
import date
class DateEncoder(json.JSONEncoder):
"""
解决json序列化时时间不能序列化问题
例:json.dumps(data, cls=DateEncoder)
"""
def default(self, obj):
if isinstance(obj, 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)
def data_default(obj):
"""
解决json序列化时时间不能序列化问题
例:json.dumps(data, default=data_default)
:param obj:
:return:
"""
if isinstance(obj, datetime):
return obj.strftime('%Y-%m-%d %H:%M:%S')
elif isinstance(obj, date):
return obj.strftime("%Y-%m-%d")
else:
return obj
#例:
json.dumps([{"1":datetime.datetime(2019, 4, 24, 16, 47, 40, 636361)}], cls=data_default)
json.dumps([{"1":datetime.datetime(2019, 4, 24, 16, 47, 40, 636361)}], default=DateEncoder)