jsonUnexpected token,字串編碼不一致等的終極解決辦法
最近一個正常執行了半年的系統,和第三方APP進行的通訊程式,一直執行的好好的,下午突然就崩了~~~通過日誌排查是解析過程中出錯了,但是我的程式各個資料庫互動環節以及資料強制轉換的環節都做了判斷,額,複製出來日誌上的各種接收資料,通過“肉眼”掃描了N多次,沒問題啊,甚至開始對自己編寫的“無敵”程式產生懷疑了,呵呵。
但是在網上的有些json校驗格式化工具上提示Unexpected token,雖然大部分工具還是能校驗通過。但是還是把資料複製到我的eclipse下進行執行,果然發現轉換json的環節出錯了!!!但是在IDE下肉眼檢查了每一個大括號,中括號,冒號,雙引號,都沒有發現問題!!!
後來部署到程式下面進行執行,發現不能正常轉換,遂和同事WJW進行了溝通,然後兩人又是半天進行排查,沒個結果,思來想去我們都知道可能是編碼的問題!但是誰也不知道如何下手,在出錯的json校驗網頁,把第一層的左括號刪除(直至第一個字串),用半形左括號進行了替換,發現可以正常解析了!!!
再後來問題排查出來了,和APP方進行了溝通,你們是不是修改程式的字符集編碼了導致我方收到資料無法解析???對方經過排查,確實是他們有一個開發人員對程式碼進行過修改,然後他們聽從我們的意見對該檔案恢復為UTF-8編碼,果然程式又可以正常執行了。
後來大神WJW編寫了個字串轉byte的小程式完美的解釋了這一現象,以後大家不用走彎路了,直接這麼做就能告訴對方“你的字串編碼有問題”。
廢話不多說了,直接上圖!
先看看正常情況下的json字串的Byte陣列是啥樣的?可以從下圖中看見是123,34,101。。
然後我們再看看那個坑爹的字串是啥樣???通過下圖我們看見前邊明顯的多餘了3個奇怪的位元組。。。
我們可以把這圖直接丟給對方的開發人員,他們會啞口無言!!!
這種方法適用於所有字串編碼不一致的場景。
相關文章
- flutter防止widget rebuild終極解決辦法FlutterRebuild
- Redis中文顯示為Unicode編碼 亂碼的解決辦法RedisUnicode
- WordPress中實現Markdown編輯的終極解決方案
- JavaWeb 亂碼問題終極解決方案!JavaWeb
- win10安裝net35終極解決方案 net3.5安裝失敗的解決辦法Win10
- Idea編譯錯誤解決辦法Idea編譯
- Mac無法清倒廢紙簍,終極解決方案Mac
- php json提交亂碼的解決辦法PHPJSON
- cookie token 亂碼的坑 decodeURIComponent 解碼解決Cookie
- Github 部署 | DNS Pod 終極解決無法訪問(番外)GithubDNS
- LoadRunner中文出現亂碼的解決辦法
- 織夢繫統引數設定出現Token mismatch!提示的解決辦法
- idea springboot 配置檔案不自動提示的終結解決辦法IdeaSpring Boot
- Exception in thread “main” 終極解決方案ExceptionthreadAI
- matlab編譯exe問題具體解決辦法Matlab編譯
- 公寓噪音的解決辦法
- ubuntu中文顯示亂碼解決辦法Ubuntu
- SourceTreet提交時顯示remote: Incorrect username or password ( access token )(4種解決辦法)REM
- 1分鐘教你解決電腦無法正常開機的終極難題
- mac php環境終極解決方案MacPHP
- H5定位終極解決方案H5
- 終極自託管解決方案指南
- 前端(React)生成pdf終極解決方案(^_^)前端React
- Loguru:Python 日誌終極解決方案Python
- mac終端用wget下載amqp時無法建立ssl連線的解決辦法MacwgetMQ
- php onethink驗證碼不顯示的解決辦法PHP
- 無法啟動mysql服務”1067 程式意外終止”解決辦法【簡記】MySql
- github慢解決辦法Github
- Namespoace Terminating 解決辦法
- AndroidStudio3 輸入法不跟著游標問題終極解決方案Android
- vs code終端中,無法執行npm -v,nodemon -v等指令的解決方案NPM
- LINUX下正確安裝後,圖片、驗證碼等無法顯示,有沒有辦法解決?Linux
- INSTALL_FAILED_NO_MATCHING_ABIS終極解決方案AI
- Word——編輯的公式顯示不完整問題的解決辦法公式
- Rust中字串的base64編碼與解碼Rust字串
- mac蘋果電腦忘記密碼的解決辦法Mac蘋果密碼
- ContenType型別大全(包括Office2007檔案等問題的解決辦法)型別
- 402、403、404、502等閘道器錯誤的解決辦法都在這了!
- nvm安裝後vscode不識別node、npm等問題的解決辦法VSCodeNPM