接口返回的json格式的數據,瀏覽器解析異常


問題場景:

后台正常返回json格式的返回值,但是瀏覽器解析異常。如圖

 

 問題定位:

是返回值中有一個字段的值的末尾有空格。剛開始后端認為是前端在保存的時候保存了空格,需要前端處理一下。

這樣解決的底層原理是什么呢?為什么會發生這樣的問題呢? 作為一個熱愛學習的前端同學,當然不會放過這個可以學習的機會了。

 

帶着問題,我就和后端同事一起研究這個問題。后來發現

 

瀏覽器中必須遵守了 JSON 規范——如果 JSON 數據中需要出現 tab 字符,必須是經過轉義的("\t" 或 "\u0009");如果是直接出現,則被認為是非法字符,JSON.parse() 方法會報錯。

 

當前的后端代碼直接采用手動拼接,並沒有去處理這個tab空格的問題,所以就導致了瀏覽器無法解析的問題。

 

總結:遇到問題,先想想根源,網絡搜索尋找答案。不要直接甩鍋,也不要直接去接鍋,首選要做的是找到解決方法,解決問題。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM