如何对Python类对象进行JSON序列化?

问题描述

我的目标是将我从对Amazon的Product Advertising API的调用中获得的响应写到JSON格式的文件中。

我使用调用API

response = default_api.search_items(search_items_request)

我尝试使用以下方法将结果写入文件:

with open('data.json','w') as f:
            json.dump(response,f)

我收到错误消息:

TypeError : Object of type 'SearchItemsResponse' is not JSON serializable

我该如何解决?我需要用JSON编写响应。非常感谢您提供解决方案。

解决方法

json只知道标准数据类型-int,float,列表,字符串,字典等

如果要使用json保存任意类对象,则必须编写一个自定义转储例程以将该对象分解为那些基本类型,并编写一个自定义装入例程以读取这些基本类型并重建该对象。 / p>

如果可以的话,改用pickle可能会容易得多,它确实支持保存任意的类对象。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...