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

@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

阅读 7.5k
5 个回答

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

新手上路,请多包涵

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

新手上路,请多包涵

改成这样就好用了

FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter(){
        @Override
        protected boolean supports(Class<?> clazz) {
            return clazz != String.class && super.supports(clazz);
        }
    };
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题