使用fastjson为何为出现反斜杠“\”

2019-07-16  本文已影响0人  杏仁丶

背景:今天用fastjson组装返回报文,结果发现返回报文中的json串中一直含有“\”反斜杠,经过查阅理解解决,记录一下。
PS:rulesTest.getRules()JSONObject类型
错误代码:

JSONObject returnObject = new JSONObject();
returnObject.put("name",rulesTest.getSysName());
returnObject.put("rules",rulesTest.getRules().toJSONString());  //这一句有问题
return RetResponse.makeOKRsp("注册成功",returnObject);

正确代码:

JSONObject returnObject = new JSONObject();
returnObject.put("name",rulesTest.getSysName());
returnObject.put("rules",rulesTest.getRules());  //正确做法
return RetResponse.makeOKRsp("注册成功",returnObject);
原因猜测:

在错误代码中,我是将JSONObject转成字符串之后,以rules为key,放在了返回的JSONObject中,这样相当于存入的是一个字符串形式;
在正确代码中,我是将JSONObject直接以rules为key,放在了返回的JSONObject中,存入的是一个JSONObject对象;

写着写着我发现这个问题太弱智了,我。。。。言尽于此~

参考链接:
1、fastjson 如何去掉反斜杠

上一篇 下一篇

猜你喜欢

热点阅读