json

import json
import decimal
from datetime import date, datetime
class CustomJsonEncoder(json.JSONEncoder):
def default(self, field):
if isinstance(field, date):
return field.strftime('%Y-%m-%d')
elif isinstance(field, datetime):
return field.strftime('%Y-%m-%d %H:%M:%S')
elif isinstance(field, decimal.Decimal):
return float(field)
else:
return json.JSONEncoder.default(self, field)
data_list = [
{"name": "zhangkai1", "age": 18, "ctime": datetime.now()},
{"name": "zhangkai2", "age": 18, "ctime": datetime.now()},
]
print(json.dumps(data_list, cls=CustomJsonEncoder))
"""
[
{"name": "zhangkai1", "age": 18, "ctime": "2021-12-30"},
{"name": "zhangkai2", "age": 18, "ctime": "2021-12-30"
]
"""