1. 程式人生 > >python執行json.loads(...)時遇到的錯誤

python執行json.loads(...)時遇到的錯誤

    最近在編寫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將單引號改成雙引號,就可以了。