当前位置: 代码迷 >> 综合 >> Python之dict(或对象)与json之间的互相转化 及 dict datetime转json问题
  详细解决方案

Python之dict(或对象)与json之间的互相转化 及 dict datetime转json问题

热度:89   发布时间:2024-02-20 11:26:44.0

Python之dict(或对象)与json之间的互相转化

在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操作。

在Python中自带json库。通过import json导入。

在json模块有2个方法,

  • loads():将json数据转化成dict数据
  • dumps():将dict数据转化成json数据
  • load():读取json文件数据,转成dict数据
  • dump():将dict数据转化成json数据后写入json文件

问题:Object of type 'datetime' is not JSON serializable

使用python自带的json,将数据转换为json数据时,datetime格式的数据报错:datetimeTypeError: datetime.datetime(2017, 3, 21, 2, 11, 21) is not JSON serializable。

解决办法:就是重写构造json类,遇到日期特殊处理,其余的用内置的就行。

class DateEncoder(json.JSONEncoder):"""解决dict 转json 时 datetime 转换失败使用方法:json.dumps(data, cls=DateEncoder)"""def default(self, obj):if isinstance(obj, datetime.datetime):return obj.strftime("%Y-%m-%d %H:%M:%S")else:return json.JSONEncoder.default(self, obj)

 

  相关解决方案