今天在查看日志的時候,發現一個問題,覺得很奇怪,跑了一個多月的代碼突然報錯了,還是個沒見過的錯誤。
所以今晚抽空記錄下。
一、重現錯誤
說好的傳過來的數據是json格式的呢?怎么會突然報錯了呢?
二、抓取錯誤數據
然后就把這條報錯的數據,打印出來看下是什么樣的數據。
不能直接在代碼里測試這個不規范的json數據,因為不符合代碼規范會直接報錯,所以我這里起了一個服務,用postman模擬數據發送。
如下圖:
現在錯誤很明顯,是由於發送過來的數據不規范導致的
三、網上查找相關資料
谷歌一下:
加上參數strict=False即可
結果:
當我們知道數據錯在哪里之后,其實可以在json.loads之前就轉化為規范的json數據,但是很多時候我們是不知道數據什么時候會出問題的,也不知道出什么樣的問題,
所以直接加上strict=False是最好的選擇。