我正在尝试在python中使用json.loads()
我收到错误:
a = {'h': '123', 'w': '12345', 'data': "b'eyJod2lkIjpwomfcwpvepovnepovqrepniLLKJAMSNDMSNDMAWEFMOEDAad='"}
a.update(json.loads(base64.b64decode(a['data'])))
这里的数据' a的一部分被加载为带有b64encoding的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 无效。
我真的很感激任何帮助!
答案 0 :(得分:1)
谢谢大家的帮助。
在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))