如何用JSON编码字节?json.dumps()抛出类型

2024-05-15 21:04:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用json对包含字节字符串的字典进行编码,并得到is not JSON serializable error

示例代码:

import base64
import json

data={}
encoded = base64.encodebytes(b'data to be encoded')
data['bytes']=encoded

print(json.dumps(data))

我收到的错误:

TypeError: b'ZGF0YSB0byBiZSBlbmNvZGVk\n' is not JSON serializable

如何使用JSON正确编码包含字节的字典?


Tags: 字符串importjson编码data字典字节is
1条回答
网友
1楼 · 发布于 2024-05-15 21:04:04

JSON格式只支持unicode字符串。由于Base64只将字节编码为ASCII字节,因此可以使用该编解码器对数据进行解码:

encoded = base64.encodestring(b'data to be encoded')
data['bytes'] = encoded.decode('ascii')

相关问题 更多 >