错误json.loads()用于应用了base64解码的数据

2024-10-01 17:24:45 发布

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

我试着用json.loads()在python中

我得到了一个错误:

JSON对象必须是str,而不是“bytes”

a = {'h': '123', 'w': '12345', 'data': "b'eyJod2lkIjpwomfcwpvepovnepovqrepniLLKJAMSNDMSNDMAWEFMOEDAad='"}


a.update(json.loads(base64.b64decode(a['data'])))

在这里,a的“data”部分作为json转储使用b64encoding加载。在

^{pr2}$

我试过使用:

a.update(json.loads(base64.b64decode(a['data']).decode('utf-8')))

给我一个 “utf-8”编解码器无法解码位置中的字节:连续字节无效

我也尝试过使用解码字节而不是b64decode但没有效果。在

我真的很感谢你的帮助!在


Tags: 对象jsondata字节bytes错误update解码
1条回答
网友
1楼 · 发布于 2024-10-01 17:24:45

谢谢你们的帮助。在

在对Stackoverflow进行了大量搜索,并在本地计算机上进行了测试之后,我能够深入到这一点。在

传入的对象(a['data'])具有一些utf-8无法解码的值。在

它的形式是b'xxxsknoen'

最后我删除了前面和结尾的b和引号,然后将其转换为str

var = base64.b64decode(str(a['data'])[2:-1]).decode('utf-8')
a.update(json.loads(var))

相关问题 更多 >

    热门问题