Python 错误:TypeError: Object of type 'bytes' is not JSON serializable

当尝试将字节类型的对象转换为 JSON 格式时,会发生此错误。JSON 格式只接受字符串类型,因此需要将字节类型的对象转换为字符串类型才能进行 JSON 序列化。

解释

'TypeError: Object of type 'bytes' is not JSON serializable' 错误表示您尝试将一个 'bytes' 类型的对象直接传递给 JSON 序列化函数,而 JSON 序列化函数无法直接处理 'bytes' 类型。

解决方案

使用 decode 方法将字节转换为字符串,例如:

import json

my_bytes = b'{"name": "John", "age": 30}'
my_string = my_bytes.decode('utf-8') # 将字节转换为字符串
my_dict = json.loads(my_string) # 将字符串转换为字典
print(my_dict)

输出:

{'name': 'John', 'age': 30}

总结

在进行 JSON 序列化操作之前,确保您的对象是字符串类型。使用 decode 方法将字节类型转换为字符串,并使用 json.loads 函数将字符串转换为字典或列表。

Python 错误:TypeError: Object of type 'bytes' is not JSON serializable

原文地址: https://www.cveoy.top/t/topic/oubI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录