【Java】springboot添加对fastjson的支持后返回的不是json而是string如何解决?
@Beanpublic 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);
}
回答
Json和String你通过肉眼能看出来?
也许只是IDE或控制台自动的把JSON对象给友好显示了而已
controller 使用@RestController 或@ResponseBody 注解了,返回的对象就是个json 额 返回的字符串放到json格式器验证一下
spring boot不是有个 MappingJackson2JsonView
view 的么,可以用来返回json
可以参考代码示例:https://gitee.com/skyarthur19...
改成这样就好用了
FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter(){ @Override
protected boolean supports(Class<?> clazz) {
return clazz != String.class && super.supports(clazz);
}
};
老哥我也遇到这个问题了,你解决了吗
以上是 【Java】springboot添加对fastjson的支持后返回的不是json而是string如何解决? 的全部内容, 来源链接: utcz.com/a/88834.html