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:

Bytes

Are

Decoded

Text

Is

Encoded

如果有字节,则会运行my_bytes.decode()以获取文本。

如果您有文本,则会运行my_text.encode()以获取字节。您也可以指定编码(如果知道的话),但是它有一个合理的默认值。

以上是 python 3.5中的json.loads和Redis 的全部内容, 来源链接: utcz.com/qa/402564.html

回到顶部