gpt4 book ai didi

python - 应用了 base64 解码的数据在 json.loads() 中出错

转载 作者:行者123 更新时间:2023-12-05 04:05:49 39 4
gpt4 key购买 nike

我正在尝试在 python 中使用 json.loads()

我得到错误:

JSON 对象必须是 str,而不是 'bytes'

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


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

这里 a 的“数据”部分被加载为使用 b64 编码的 json 转储。

'data':base64.b64encode(json.dumps(test).encode()); where test = some string eg('epovqrepniLLKJAMSNDMSNDMAWEFMOEDAad=')

我试过使用:

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

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

我也尝试过使用 decodebytes 而不是 b64decode 无济于事。

如果有任何帮助,我将不胜感激!

最佳答案

谢谢大家的帮助。

在 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))

关于python - 应用了 base64 解码的数据在 json.loads() 中出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50693871/

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