本文最后更新于:2024年5月7日 下午

在python中导入json包可以方便地操作json文件,但是偶尔会遇到 TypeError: Object of type xxx is not JSON serializable 错误,通常报错的位置是很正常的int或float,本文记录该问题解决方法。

自定义序列化方法

1
2
3
4
5
6
7
8
9
10
11
12
class MyEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, np.integer):
return int(obj)
elif isinstance(obj, np.floating):
return float(obj)
elif isinstance(obj, np.ndarray):
return obj.tolist()
if isinstance(obj, time):
return obj.__str__()
else:
return super(MyEncoder, self).default(obj)

调用json包写入数据时加入

1
json.dump(final_json, fp, indent=3, cls= MyEncoder)


文章链接:
https://www.zywvvd.com/notes/coding/python/json-bug-fix/json-bug-fix/


“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付

解决 json.dump 报错:TypeError - Object of type xxx is not JSON serializable
https://www.zywvvd.com/notes/coding/python/json-bug-fix/json-bug-fix/
作者
Yiwei Zhang
发布于
2020年5月12日
许可协议