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)傳回前端的資料沒有該屬性,則配置成功