json.loads и Redis в Python 3.5
Я создал объект JSON с помощью json.dumps() и RPUSH(ed) в списке повторного редактирования. При возврате JSON с LRANGE ( redis.lrange()) я получаю двоичную строку
b'{"si":"00:ff" ...
Поэтому json.loads () вызывает ошибку: *** TypeError: объект JSON должен быть str, а не "байтами". Как мне вернуться к ascii?
1 ответ
Решение
В общем, вы хотите запомнить акроним BADTIE:
Bytes
Are
Decoded
Text
Is
Encoded
Если у вас есть байты, вы запускаете my_bytes.decode()
чтобы получить текст.
Если у вас есть текст, вы запускаете my_text.encode()
чтобы получить байты. Вы также можете указать кодировку, если вы ее знаете, но она имеет разумное значение по умолчанию.