本文转自:https://blog.csdn.net/houyujie745839/article/details/72763432
spring boot 默认使用的json转换工具是jackson。
集成fastjson,引入fastjson的jar,版本1.2.10+
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.15</version>
</dependency>
配置fastjson有两种方式
第一种方式:
① 启动类继承 WebMvcConfigurerAdapter
②覆盖configureMessageConverters方法
@SpringBootApplication
public class App extends WebMvcConfigurerAdapter{
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
//定义一个转换消息的对象
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
//添加fastjson的配置信息 比如 :是否要格式化返回的json数据
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
//在转换器中添加配置信息
fastConverter.setFastJsonConfig(fastJsonConfig);
//将转换器添加到converters中
converters.add(fastConverter);
}
第二种方式:
启动类注入Bean HttpMessageConverters
@Bean
public HttpMessageConverters fastjsonHttpMessageConverter(){
//定义一个转换消息的对象
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
//添加fastjson的配置信息 比如 :是否要格式化返回的json数据
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
//在转换器中添加配置信息
fastConverter.setFastJsonConfig(fastJsonConfig);
HttpMessageConverter<?> converter = fastConverter;
return new HttpMessageConverters(converter);
}
到此fastjson配置完毕。测试是否json是否使用fastjson可在实体类对象的任意属性加上@JSONField(serialize=false)返回前端的数据没有该属性,则配置成功