springboot添加对fastjson的支持后返回的不是json而是string如何解决?

发布于 2022-09-06 22:13:09 字数 975 浏览 28 评论 0

@Bean
    public HttpMessageConverters fastJsonHttpMessageConverters() {
        //1、先定义一个convert转换消息的对象
        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
        //2、添加fastjson的配置信息,比如是否要格式化返回的json数据;
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
        //附加:处理中文乱码
        List<MediaType> fastMedisTypes = new ArrayList<>();
        fastMedisTypes.add(MediaType.APPLICATION_JSON_UTF8);
        fastConverter.setSupportedMediaTypes(fastMedisTypes);
        //3、在convert中添加配置信息
        fastConverter.setFastJsonConfig(fastJsonConfig);
        HttpMessageConverter<?> converter = fastConverter;
        return new HttpMessageConverters(converter);
    }

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

蓝海 2022-09-13 22:13:09

Json和String你通过肉眼能看出来?
也许只是IDE或控制台自动的把JSON对象给友好显示了而已

丢了幸福的猪 2022-09-13 22:13:09

controller 使用@RestController 或@ResponseBody 注解了,返回的对象就是个json 额 返回的字符串放到json格式器验证一下

幼儿园老大 2022-09-13 22:13:09

spring boot不是有个 MappingJackson2JsonView view 的么,可以用来返回json

可以参考代码示例:https://gitee.com/skyarthur19...

烙印 2022-09-13 22:13:09

改成这样就好用了

FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter(){
        @Override
        protected boolean supports(Class<?> clazz) {
            return clazz != String.class && super.supports(clazz);
        }
    };
还在原地等你 2022-09-13 22:13:09

老哥我也遇到这个问题了,你解决了吗

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文