近期工作中遇到一個問題,執行json.loads(json_data)時,在json_data中加上tab空格后就報錯,不加則不報錯
一、json.loads(json_data) 報錯json.decoder.JSONDecodeError: Invalid control character at: line 25 column 18 (char 18)
原因:json默認使用的是嚴謹格式,json_data鍵值中有非法控制符號如\n\t, 當跨語言傳遞數據時,就容易報出這個錯誤。
解決方法:加上參數 strict
json.loads(json_data, strict=False)
二、json.dumps(data) 將漢字轉為unicode編碼
原因:json默認會進行字符轉換
解決方法: 添加 ensure_ascii 參數
json.dumps(data, ensure_ascii=False)
