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