小老虎之前在开发一个小接口的时候发现了一个问题。后来不知道如何解决的。结果今天开发的时候又碰见了。
于是和大家分享一下,就是Json返回的时候会莫名奇妙的带有反斜杠。其实并不是在代码里面带有反斜杠,而是在最终返回给调用方的时候带有反斜杠,这就很蛋疼了。
如下图
QQ截图20170106105934.png
这是带有反斜杠的返回,这种返回只能让请求端去做处理,咱们提供的服务端这边是做不了任何处理的。后来被同事吐槽后,去百度之后发现了一个问题。上图的那个是返回的Json字符串。然而如果换一个返回值就不一样了。
@RequestMapping(value="/getContractCode.do", produces = "application/json; charset=utf-8")
public @ResponseBody JSONObject getContractCode(HttpServletRequest request, @RequestBody String codeName)
{
JSONObject code = contractService.getContractCodeNumber(codeName);
return code;
}
这样的代码就没问题了,因为返回的是Json对象,Json对象是不带反斜杠的,而Json字符串是会带有的。如下图
QQ截图20170106115122.png
网友评论