[python]json.loads 幾種錯誤 解決方案
阿新 • • 發佈:2019-01-10
1、
json.loads Python錯誤:
'utf8' codec can't decode byte ...
由於需求,要用python讀取網頁返回json,並取得其中的資料但是卻遇到以上編碼的問題。
終於找到了解決方案:
我們只需要對字串進行unicode化,忽略錯誤就行了~
程式碼如下:
- str2 = unicode( str, errors='ignore')
但是要注意,這裡的str必須為字串,處理之後再送入json.load就可以了~
- data = json.loads(str2)
unicode化+忽略錯誤真給力。。。
2、
ValueError: Invalid \escape: line 1 column 35442 (char 35441)
問題在於編碼中是\xa0之類的,當遇到有些 不用轉義的\http之類的,則會出現以上錯誤。
解決方案如下:
- import re
- regex = re.compile(r'\\(?![/u"])')
- 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