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 写回就没事了。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)