json序列化时定制支持datetime类型,和到中文让他保留中文形式

Posted 王大拿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json序列化时定制支持datetime类型,和到中文让他保留中文形式相关的知识,希望对你有一定的参考价值。

 json序列化时,可以处理的数据类型有哪些?如何定制支持datetime类型

自定义时间序列化转换器
import json
from json import JSONEncoder
from datetime import datetime
class ComplexEncoder(JSONEncoder):
    def default(self, obj):
        if isinstance(obj, datetime):
            return obj.strftime(%Y-%m-%d %H:%M:%S)
        else:
            return super(ComplexEncoder,self).default(obj)
d = { name:alex,data:datetime.now()}
print(json.dumps(d,cls=ComplexEncoder))
# {"name": "alex", "data": "2018-05-18 19:52:05"}

json序列化时遇到中文会默认转换成unicode  ,如何让他保留中文形式

import json
a=json.dumps({"ddf":"你好"},ensure_ascii=False)
print(a) #{"ddf": "你好"}

 

以上是关于json序列化时定制支持datetime类型,和到中文让他保留中文形式的主要内容,如果未能解决你的问题,请参考以下文章

Python—使用Json序列化Datetime类型

Python json.dumps 特殊数据类型的自定义序列化操作

Go 定制JSON序列化

Go 定制JSON序列化

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

json序列化datetime类型数据