- 问题描述:Controller通过@ResponseBody返回String类型字符串时,通过jackson/fastjson消息转换器不能解析为json格式

如图,返回的是普通文本类型,前端不能解析。 - 解决过程:
- 通过网上方法,在@GetMapping中加上produces属性指定为json格式,如下:
@GetMapping(value = "menu", produces = "application/json") - 返回的数据确实为json格式,但是出现了双引号转义的问题,如下:

- 后来发现,jackson只能对非String类型的对象进行转换,因此,我们只需要改变Controller的返回类型即可,将返回类型变为Map,将需要返回的字符串解析为对象
return JSON.parseObject(menuInfo);即可返回正常json数据
- 通过网上方法,在@GetMapping中加上produces属性指定为json格式,如下:
SpringMVC:Controller返回String类型字符串时,浏览器不能解析为json格式
最新推荐文章于 2023-12-21 22:06:34 发布
本文探讨了在Spring MVC中使用@ResponseBody返回String类型数据导致的JSON解析问题。通过在GetMapping中添加produces属性指定JSON格式解决了返回类型问题,但出现了双引号转义。解决方案是改变Controller返回类型为Map,将字符串解析为对象,从而避免了问题并确保了正常JSON数据的返回。
911

被折叠的 条评论
为什么被折叠?



