最近在编写web程序需要用到redis来存储json格式,因为redis的存储室二进制,所以在提取数据的时候需要用到将二进制解码为utf-8,然后再转化为json。
前面解码没问题用decode(‘utf-8’)就可以了,原来的代码是这样子的:
<span style="font-size:18px;"> messages.append(json.loads(mess.decode('utf-8')))</span>
好像没啥问题,但结果却报错了!!!
ValueError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
大概提示是要用双引号,网上搜索了一个也好像是说由于json的key没有双引号,导致json解析错误的。
改正代码如下:
<span style="font-size:18px;"> messages.append(json.loads(mess.decode('utf-8').replace("'", "\"")))</span>
利用replace将单引号改成双引号,就可以了。