python執行json.loads(...)時遇到的錯誤
阿新 • • 發佈:2019-02-14
最近在編寫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將單引號改成雙引號,就可以了。