這是由於轉義字符引起的如 : \ , 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