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

不知為何就叫呵呵發表於2017-09-01

這是由於跳脫字元引起的如 : \ , 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

相關文章