Расшифровка текста строки base64 дает ошибку - PullRequest
0 голосов
/ 15 апреля 2019

Я пытаюсь декодировать файл из строк base64 следующим образом:

responses64 = {
'54sdf61': 'eyJyZXNwb2...', 
'23423vse': 'sdfwerfwewe...'
}

Данные поступают таким образом из запроса API, поэтому я не могу изменить эту часть.

Обычно, я делаю это для декодирования base64:

response = json.loads(base64.b64decode(response64))

Но так как у меня есть adict со многими из этих строк, я пошел другим путем.Лучшее, что я мог придумать, - это цикл 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'

Любая идея будет оценена ...

1 Ответ

1 голос
/ 15 апреля 2019

вам нужно использовать кодировку json

, поэтому либо используйте с base64

responses[i] = json.loads(base64.b64decode(json.dumps(responses64[i])))

или

response = json.loads(json.dumps(responses64))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...