1. 程式人生 > >字定義JSON序列化支持datetime格式序列化

字定義JSON序列化支持datetime格式序列化

cls else span elif () == logs json序列化 序列化

字定義JSON序列化支持datetime格式序列化

由於json.dumps無法處理datetime日期,所以可以通過自定義處理器來做擴展,如:

import json
from datetime import date
from datetime import datetime


class CustomEncoder(json.JSONEncoder):
    def default(self, field):
        # 自定義部分
        # return 定義的strftime
        if isinstance(field, datetime):
            return
field.strftime('%Y-%m-%d %H:%M:%S') elif isinstance(field, date): return field.strftime('%Y-%m-%d') else: return json.JSONEncoder.default(self, field) if __name__ == '__main__': dic = { 'k1': 'v1', 'k2'
: 123, 'ctime': datetime.now() } # 調用方法 json.dumps(dic變量, cls=CustomEncoder) ds = json.dumps(dic, cls=CustomEncoder) print(ds)

輸出:

{"k1": "v1", "k2": 123, "ctime": "2018-01-04 14:53:13"}

字定義JSON序列化支持datetime格式序列化