使用Json框架Fastjson替换Spring Boot默认Jackson
1. 第一种方法
/**
* 配置类:利用fastjson替换springboot默认的jackson
* Created by gaozhy on 2017/6/4 0004.
*/
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
public void configureMessageConverters(List<HttpMessageConverter<?>> converters){
// 1. 创建json转换器
FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
// 2. 格式化相应json格式
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
// 3. 处理中文乱码
ArrayList<MediaType> mediaTypes = new ArrayList<MediaType>();
mediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
converter.setSupportedMediaTypes(mediaTypes);
// 4. 配置converter
converter.setFastJsonConfig(fastJsonConfig);
// 5. 添加
converters.add(converter);
}
}
/**
* springboot启动类
*
@SpringBootApplication
public class SpringBoot01Application{
public static void main(String[] args){
SpringApplication.run(SpringBoot01Application.class,args);
}
}
2. 第二种办法
@SpringBootApplication
public class SpringBoot01Application{
/**
* 使用fastjson
* @return
*/
@Bean
public HttpMessageConverters createMessageConverters(){
// 1. 创建json转换器
FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
// 2. 格式化相应json格式
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
// 3. 处理中文乱码
ArrayList<MediaType> mediaTypes = new ArrayList<MediaType>();
mediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
converter.setSupportedMediaTypes(mediaTypes);
// 4. 配置converter
converter.setFastJsonConfig(fastJsonConfig);
// 5. 创建转换器
HttpMessageConverter httpMessageConverter = converter;
return new HttpMessageConverters(httpMessageConverter);
}
public static void main(String[] args){
SpringApplication.run(SpringBoot01Application.class,args);
}
}