我正在尝试像这样解码base64字符串的字典:
responses64 = {
'54sdf61': 'eyJyZXNwb2...',
'23423vse': 'sdfwerfwewe...'
}
数据是来自API查询的,因此我无法更改该部分。
通常,我会这样做来解码base64:
response = json.loads(base64.b64decode(response64))
但是由于我现在已经对许多这些字符串作出了起诉,所以我走了另一条路。我能想到的最好的办法是对键值进行for循环,这些键值存储在另一个名为IDs
的列表中,并将结果写入字典:
responses = {}
for i in IDs:
responses[i] = json.loads(base64.b64decode(responses64[i]))
但是,这不起作用,因为b64decode不喜欢对字典进行操作:
TypeError: argument should be a bytes-like object or ASCII string, not 'dict'
任何想法将不胜感激...
答案 0 :(得分:1)
您需要使用json Encoding
因此可以与base64
responses[i] = json.loads(base64.b64decode(json.dumps(responses64[i])))
或
response = json.loads(json.dumps(responses64))