springboot使用fastjson中文亂碼解決方法 【轉載】
阿新 • • 發佈:2019-01-13
以前使用fastjson替換jackson時,沒有直接在頁面列印過json,都是js使用沒有出現亂碼,偶然 打印出來出現了中文亂碼
之前使用的配置方式
@Configuration public class FastJsonConf { @Bean public HttpMessageConverters fastjsonHttpMessageConverter() { //訊息轉換物件 FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter(); //新增fastjson的配置資訊,是否格式化返回json FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat); //轉換器中新增配置資訊 fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig); HttpMessageConverter<?> converter = fastJsonHttpMessageConverter; return new HttpMessageConverters(converter); } }
找到一個博主的文章解決了亂碼:http://www.cnblogs.com/xql4j/p/6729524.html
@Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter { /** * 利用fastjson替換掉jackson,且解決中文亂碼問題 * @param converters */ @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat); //處理中文亂碼問題 List<MediaType> fastMediaTypes = new ArrayList<>(); fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8); fastConverter.setSupportedMediaTypes(fastMediaTypes); fastConverter.setFastJsonConfig(fastJsonConfig); converters.add(fastConverter); } }