一次在使用json.dumps()過程中,出現錯誤提示:
ERROR:"UnicodeDecodeError: 'utf8' codec can't decode byte 0xe1 in position 5: unexpected end of data"
透過錯誤提示我們知道,肯定是編碼問題,找到問題所在,就不難解決了。。。
正常情況:
#引入json模組 import json #定義一個字典 dit = {'a':111,'b':222,'c':333} #把字典轉換成json字串 #執行結果為'{"a":111,"b":222,"c":333}' json.dumps(dit)
上面是正常情況,但是如果在字典中出現特殊字元,就會報上面的錯
如何解決?
解決方案:
我們只需要對字串進行unicode化,忽略錯誤就行啦,程式碼如下:
unicode( value, errors='ignore')
但是要注意,這裡的value必須為字串,這裡的value就是上面的111、222、333
然後先進行字串unicode化,然後再使用最上面的程式碼進行json encode就ok了,問題就這麼解決了。。。
如果還有不明白的歡迎留言提問哦~~