背景:今天用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 如何去掉反斜杠
网友评论