2014-10-26 154 views
2

中的字節0xae我剛發現我的json字符串包含一些特殊字符,例如Pandora ®utf8'編解碼器無法解碼位置

json.loads(str_to_load) 

我已經試過這對解決這個問題::

json.loads(unicode(str_to_load), "ISO-8859-1") 

顯然,這似乎也不工作 當我使用這個我得到這個錯誤'utf8' codec can't decode byte 0xae in position: invalid start byte。如何解決這個問題?

json文件太大而無法在此處上傳。

+0

這是否工作:'json.loads(str_to_load,編碼= 「ISO-8859-1」)'? – 2014-10-26 23:50:14

+0

@SimeonVisser現在最大的問題是,它是否返回了正確的數據? – 2014-10-27 01:37:45

+0

P.S.任何人在這個時代把任何不是UTF-8的東西放在網上都應該被鞭打。 – 2014-10-27 01:39:48

回答

4

可以在json.loads指定編碼:

json.loads(str_to_load, encoding="ISO-8859-1") 
0

通過方法json.dumps默認ensure_ascii標誌()設置爲True。 要解決這個問題,該標誌設置爲False:

json.dumps(unicode(str_to_load), ensure_ascii = False) 
相關問題