gpt4 book ai didi

python - 如何处理TypeError : Object of type 'bytes' is not JSON serializable?

转载 作者:行者123 更新时间:2023-12-05 00:55:28 25 4
gpt4 key购买 nike

尝试将输出转换为 Json 格式,但出现错误。删除 json.dump 后,将数据转换为 base64 格式。但是当使用 json.dump 时会显示错误。

代码:

import json 
import base64

with open(r"C:/Users/Documents/pdf2txt/outputImage.jpg","rb") as img:
image = base64.b64encode(img.read())
data['ProcessedImage'] = image

print(json.dump(data)

输出:

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

使用时:

print(json.dumps(dict(data)))

它也显示相同的错误

最佳答案

您必须使用 str.decode()方法。

您正在尝试将字节类型的对象序列化为 JSON 对象。JSON schema 中没有这样的东西.所以你必须先将字节转换为字符串。

你也应该使用 json.dumps()而不是 json.dump() 因为你不想写入文件。

在你的例子中:

import json 
import base64

with open(r"C:/Users/Documents/pdf2txt/outputImage.jpg", "rb") as img:
image = base64.b64encode(img.read())
data['ProcessedImage'] = image.decode() # not just image

print(json.dumps(data))

关于python - 如何处理TypeError : Object of type 'bytes' is not JSON serializable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64405395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com