【Java】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);

}

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

回答

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

回到顶部