python 3.5中的json.loads和Redis
我使用json.dumps()和RPUSH(ed)在redis列表中创建了一个JSON对象。当使用LRANGE(redis.lrange())返回JSON时,我收到一个二进制字符串
b'{"si":"00:ff" ...
因此json.loads()会引发错误:*** TypeError:JSON对象必须为str,而不是’bytes’。我应如何恢复为ascii?
回答:
通常,您需要记住首字母缩略词BADTIE:
BytesAre
Decoded
Text
Is
Encoded
如果有字节,则会运行my_bytes.decode()
以获取文本。
如果您有文本,则会运行my_text.encode()
以获取字节。您也可以指定编码(如果知道的话),但是它有一个合理的默认值。
以上是 python 3.5中的json.loads和Redis 的全部内容, 来源链接: utcz.com/qa/402564.html