springboot 中,使用fastjson替换jackson ,接口返回出现乱码,解决方法如下:

@Bean
public HttpMessageConverters fastJsonHttpMessageConverter() {
    FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();

    FastJsonConfig fastJsonConfig = new FastJsonConfig();
    fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
    fastConverter.setFastJsonConfig(fastJsonConfig);
    //处理中文乱码问题
    List<MediaType> fastMediaTypes = new ArrayList<MediaType>();
    fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
    fastConverter.setSupportedMediaTypes(fastMediaTypes);

    HttpMessageConverter<?> converter = fastConverter ;

    return new HttpMessageConverters(converter) ;
}

如果这样不能解决问题,再试下如下方法:

在 application.properties 文件中新增 :

spring.http.encoding.force=true
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
server.tomcat.uri-encoding=UTF-8

我的是这样解决的。