使用fastJson导入的pom依赖

<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.68</version><scope>compile</scope>
</dependency>

代码展示

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONPath;
import org.apache.commons.lang.StringEscapeUtils;/*** @Desc* @Author madengling* @Time 2020/10/22 10:48*/
public class jsonTest {public static void main(String[] args) {String str = "{\"ctime\":\"20200518\",\"project\":{\"name\":\"zhangsan\",\"age\":\"25\"},\"content\":{\"distinct_id\":\"51818968\",\"event\":\"AppClick\",\"properties\":{\"element_page\":\"新闻列表页\",\"screen_width\":\"640\",\"app_version\":\"1.0\",\"os\":\"GNU/Linux\",\"battery_level\":\"11\",\"device_id\":\"886113235750\",\"client_time\":\"2020-05-18 13:53:56\",\"ip\":\"61.233.88.41\",\"is_charging\":\"1\",\"manufacturer\":\"Apple\",\"carrier\":\"中国电信\",\"screen_height\":\"320\",\"imei\":\"886113235750\",\"model\":\"\",\"network_type\":\"WIFI\",\"element_name\":\"tag\"}}}\n";//将json字符串解析为json对象JSONObject metaJson = JSONObject.parseObject(str);System.out.println("=====metaJson:");System.out.println(metaJson);JSONObject jsonObject = new JSONObject();//当值为单个字符串时,使用JSONObject对象.getString(key)方法,json对象输出时没有反斜杠jsonObject.put("ctime", metaJson.getString("ctime"));//当值为json字符串时,使用JSONObject对象.getString(key)方法,json对象输出时带有反斜杠jsonObject.put("project", metaJson.getString("project"));//当值为json字符串时,使用JSONPath.eval(JSONObject对象,key),json对象输出时没有反斜杠,jsonObject.put("content", JSONPath.eval(metaJson, "content"));System.out.println("=====jsonObject:");System.out.println(jsonObject.toString());JSONObject jsonObject1 = new JSONObject();System.out.println("=====metaJson.getString(project):");System.out.println(metaJson.getString("project"));String metaJsonString = metaJson.getString("project");jsonObject1.put("propjectString",metaJsonString);JSONObject metaJsonJson = JSONObject.parseObject(metaJson.getString("project"));jsonObject1.put("propjectJson",metaJsonJson);JSONObject metaJsonJson1 = (JSONObject) metaJson.get("project");jsonObject1.put("propjectJson1",metaJsonJson1);JSONObject metaJsonJson2 = metaJson.getJSONObject("project");jsonObject1.put("propjectJson2",metaJsonJson2);Jtcyxx boy = new Jtcyxx();boy.setGx(1);boy.setXm("张三");boy.setYddh("196513");jsonObject1.put("project", boy);System.out.println("=====jsonObject1:");System.out.println(jsonObject1.toString());System.out.println("=====tmp:");String tmp = StringEscapeUtils.unescapeJavaScript(jsonObject.toString());System.out.println(tmp);}
}

经过测试,通过getString获取json后直接放在value位置时出现反斜杠。同时如果单独对这个json进行输出的话是没有反斜杠的,或者自定义一个对象放在value上也不会出现反斜杠现象。以及将这个对象通过除了getString之外的方法获取数据时,都不会出现反斜杠的现象。
注意:用get方法强转成(JSONObject)在没有getJSONObject()情况下正常显示,两个一起的时候会出现显示对象类的情况,暂时没找到原因,只能避免这种情况
执行结果

遇到这种问题的时候,可以从两方面进行解决,
一是从源头生成结果的时候解决,避免getString结果放入json中产生反斜杠
二是处理产生的结果,可以用StringEscapeUtils.unescapeJavaScript(String str)方法处理掉反斜杠

我是因为调用别人的方法接收到参数即是如此,从网上找到的大多数都是用replaceAll("\"","")这样的方法,感觉不是很高大上,哈哈,百度了好久,找到了unescapeJavaScript的解决办法

参考文档:
https://blog.csdn.net/programmer_trip/article/details/108350128
https://www.csdn.net/gather_21/Mtjacg2sODg5NDAtYmxvZwO0O0OO0O0O.html

fastJson字符串出现反斜杠问题解决相关推荐

  1. python 字符串结束符_python字符串以反斜杠结尾

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! eol while scanning string literal解析器似乎可以 ...

  2. php+字符串去掉反斜杠,PHP如何去掉反斜杠?

    详细内容 本篇文章主要给大家介绍PHP去掉反斜杠的实现方法,那么在PHP中有一个内置函数stripslashes(),其作用就是删除字符串中的反斜杠.下面我们就结合具体的实例,给大家介绍PHP去掉反斜 ...

  3. fastjson 如何去掉反斜杠

    FastJson是阿里的开源框架,被不少企业使用,是一个极其优秀的Json框架. 调用接口时候用的是FastJson,出现多余的反斜杠,情况如下 {"data":"{\& ...

  4. 解析json去掉反斜杠_如何去掉Json字符串中反斜杠

    做项目的时候,遇到了这样的问题,前台传来的Json字符串在实体类中不对应(无法转换为实体类),而且传来的数据项是跟着数据库中的表的变动而变动的(不能重写实体类). 前台Json字符串为: string ...

  5. java json去掉反斜杠,如何去掉Json字符串中反斜杠

    做項目的時候,遇到了這樣的問題,前台傳來的Json字符串在實體類中不對應(無法轉換為實體類),而且傳來的數據項是跟着數據庫中的表的變動而變動的(不能重寫實體類). 前台Json字符串為: string ...

  6. python在字符串结尾加反斜杠_Python原始字符串和尾部反斜杠

    我曾经碰到过一个东西,想知道它是一个Python的"虫子"还是至少是一个不适合吃的东西.我很好奇是否有人知道这种行为的任何理由.我刚想到读"像Python一样的代码&qu ...

  7. 转载Python正则表达式匹配反斜杠'\'问题(——字符串转义与正则转义)

    个人总结(非转载部分): 1.原始字串(字符串前加r,如r'xxx')常用在正则表达式中,在正则表达运算中,要进行正则转义(原始字串不原始) 实例: 2.普通字串若要用于正则表达式中,会先进行&quo ...

  8. php斜杠输出转义,php中的转义字符(用反斜杠\来输出,和C语言一样)

    php中的转义字符(用反斜杠\来输出,和C语言一样) 一.总结 1.引号中的变量:双引号会替换变量的值,而单引号会把它当做字符串输出. 2.引号中的转义字符:双引号将用变量的值(test)代替它的名称 ...

  9. php如何输出反斜杠,php输出反斜杠的实例方法

    php输出反斜杠的实例方法 按常规写法,我们要输出反斜杠,那就在输出字符串里直接写上反斜杠的符号,但这样可以吗?我们尽管试一下. 运行这个代码的页面,发现页面报错了,报的是语法错误. 为什么会这样,从 ...

最新文章

  1. ubuntu 终端常用命令
  2. 第二十二回  基础才是重中之重~ThreadStatic静态字段在每个线程里的唯一性
  3. java防止undo空间撑爆_秒杀系统设计补坑篇(seata回顾)
  4. kaggle中zillow比赛中模型融合的方法及其代码
  5. Windows Phone本地数据库(SQLCE):3、[table]attribute(翻译) (转)
  6. HTML 基本知识点(草稿)
  7. 第一轮返工潮,哪些城市疫情传播压力最大
  8. canoe知识点查阅
  9. spring中的class配置不能使用properties中的字符串
  10. Spring 事务传播原理及数据库事务操作原理
  11. plugin.super mysql_使用MySQ Clone Plugin部署MySQL Group Replication
  12. Bootstrap第一坑,.net MVC项目中bootstrap引用Roboto字体,fonts.gstatic.com字体下载过慢导致页面巨卡问题
  13. 网络知识:路由器常见故障分析及处理方法
  14. 有限元分析试题:ANSYS有限元分析中级培训考题及其答案解析(填空+选择+判断+解答)
  15. tr,dr发音/tu,du发音
  16. originPro2021(7)导出图表不清晰
  17. 如何构建OctoberCMS Widget插件
  18. 井字棋游戏案例C++语言
  19. 全球最佳15个免费云存储服务推荐
  20. 自动控制原理--线性系统的微分方程

热门文章

  1. REST实战——调用百度语音的云服务
  2. 电表远程抄表系统架构和发展
  3. Android 计算器(Calculator)三角函数默认角度计算
  4. 如何写好个人简历,求职简历,什么样的简历模板最合适?
  5. Mr.Alright---Google原生问题之格式化SD卡为内部存储后设置里内存显示会翻倍
  6. lua 实现四川麻将胡牌算法(附源代码讲解)
  7. thinkcmf index.php,ThinkCMF应用开发流程
  8. 三国志吞食天地2(街机)的全人物通关研究
  9. 零基础thinkPHP验证码刷新及验证
  10. IDEA打开新项目有黄色图标的小时钟解决方案