SpringBoot返回的 JSON 带有斜杠 转义

我的框架是会在返回类型上加一个包装结果,但是我留了一个缺口,就是返回String 不会包装。最近写了一个接口,因为是以前的接口返回,不能改返回结果,所以我返回String 不会被包装,代码如下:

    @RequestMapping(value = "webSwitch")
    public Object webSwitch() {
        JsonObject result = new JsonObject();
        result.addProperty("success", 200);
        result.addProperty("message", "ok");
        result.addProperty("openWeb", showWebVO.getOpenWeb());

        return result.toString();
    }

测试结果返回的结果 带有反斜杠,不能被json 解析。结果如下:

"{\"success\":200,\"message\":\"ok\",\"openWeb\":true,\"webUrl\":null}"

原因分析:因为 我的框架里面把 CustomGsonMessageConvertor 放在第一位,所以默认用它来write response。结果 gson 写字符串时候 发现有 json格式的特殊字符就会加转义。

搞清楚原因之后,添加 produces = “text/plain” 被 StringhttpMessageConvertor 写回就没事了。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值