48 – 在json 序列化时如何处理日期类型的值

1. 在json 序列化时,可以自动处理哪些数据类型

  • 可以处理的数据类型
    • str
    • int
    • list
    • tuple
    • dict
    • bool
    • None
  • 但datetime不支持jaon 序列化

2. 在json 序列化时,如何处理日期类型

'''
default
'''
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(obj, date):
                return obj.strftime('%Y-%m-%d')
            else:
                return json.JSONEncoder.default(self, obj)
            
d = {'name':'Bill', 'date':datetime.now()}
print(json.dumps(d, cls=DateToJson, ensure_ascii=False))

{"name": "Bill", "date": "2020-03-04  14:03:10"}

正文完