【发布时间】:2017-04-21 17:24:42
【问题描述】:
我用 json.dumps() 和 RPUSH(ed) 在 redis 列表中创建了一个 JSON 对象。 当使用 LRANGE ( redis.lrange() ) 取回 JSON 时,我收到一个二进制字符串
b'{"si":"00:ff" ...
所以 json.loads() 引发错误: *** TypeError:JSON 对象必须是 str,而不是 'bytes' 我应该如何恢复到 ascii ?
【问题讨论】:
-
之前的文件怎么样?你也试过 json.load() intead 吗?
-
它也会引发错误:*** AttributeError: 'bytes' object has no attribute 'read'
-
我也有同样的问题,但是在 Python3.6 中在本地是可以的,我的服务器使用 py3.5 并获取
TypeError: the JSON object must be str, not 'bytes'如果你不想更新 py 只需使用simplejson替换内置json。但我不知道为什么……对不起。
标签: python json redis binascii