fastjson 返回json字符串,JSON.parse 報錯


這是由於轉義字符引起的如 : \ , fastjson 處理后是雙反斜杠:\\ ,而 JSON.parse 解析時需要4個反斜杠 ,即 js解析json 反斜杠時,需要 4個 解成 1 個

 

解決方法: 后台返回前,把處理后的json字符串再處理,所有雙反斜杠 替換成 4個 :

JSON.toJSONString(list).replaceAll("\\\\", "\\\\\\\\");

    或 前端接收后處理成4個反斜杠 

 

對於其他的其他的特殊字符 
1.雙引號("),如果正確出現雙引號應為\\\" 
2.\n,如想想出現正確的換行需要json字符串中是\\n,其實是先對\n中的\轉義,n變成了普通字符,在解析為js對象的時候n與之前的\(只有一個\了)被解釋為換行。如下的兩個與此類似。 
3.\r,\\r 
4.\t,\\t


免責聲明!

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



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