fastjson 返回json字符串,JSON.parse 报错

Posted 再见理想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fastjson 返回json字符串,JSON.parse 报错相关的知识,希望对你有一定的参考价值。

这是由于转义字符引起的如 : , fastjson 处理后是双反斜杠:\ ,而 JSON.parse 解析时需要4个反斜杠 ,即 js解析json 反斜杠时,需要 4个 解成 1 个

 

解决方法: 后台返回前,把处理后的json字符串再处理,所有双反斜杠 替换成 4个 :

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

    或 前端接收后处理成4个反斜杠 

 

对于其他的其他的特殊字符 
1.双引号("),如果正确出现双引号应为\" 
2. ,如想想出现正确的换行需要json字符串中是\n,其实是先对 中的转义,n变成了普通字符,在解析为js对象的时候n与之前的(只有一个了)被解释为换行。如下的两个与此类似。 
3. ,\r 
4. ,\t

以上是关于fastjson 返回json字符串,JSON.parse 报错的主要内容,如果未能解决你的问题,请参考以下文章

JAVA 中 提取 alibaba.fastjson.JSONObject 字符串中的 KEY 和 VALUE 值

如何利用fastjson将JSON格式的字符串转换为Map,再返回至前端成为js对象

FastJson中@JSONField注解使用

jQuery Ajax 调用返回 JSON 字符串而不是对象数组

关于 SpringBoot 返回对象为 json 字符串时转义问题

SpringBoot 03_利用FastJson返回Json数据