1. 程式人生 > >[python]json.loads 幾種錯誤 解決方案

[python]json.loads 幾種錯誤 解決方案

1、

json.loads Python錯誤:

'utf8' codec can't decode byte ...

由於需求,要用python讀取網頁返回json,並取得其中的資料但是卻遇到以上編碼的問題。

終於找到了解決方案:

我們只需要對字串進行unicode化,忽略錯誤就行了~

程式碼如下:

  1. str2 = unicode( str, errors='ignore')  

但是要注意,這裡的str必須為字串,處理之後再送入json.load就可以了~

  1. data = json.loads(str2)  

unicode化+忽略錯誤真給力。。。

2、

ValueError: Invalid \escape: line 1 column 35442 (char 35441)

問題在於編碼中是\xa0之類的,當遇到有些 不用轉義的\http之類的,則會出現以上錯誤。

解決方案如下:

  1. import re  
  2. regex = re.compile(r'\\(?![/u"])')  
  3. fixed = regex.sub(r"\\\\", original)  


參考:http://www.cnblogs.com/blueel/archive/2012/08/21/2649590.html

http://stackoverflow.com/questions/9312196/how-to-convert-this-string-into-json-format-using-json-loads