默認springboot中杆勇,當前端傳過來數(shù)據(jù)瓦糟,轉(zhuǎn)換為JSON時,默認使用的是框架自帶的jackson修己,當我們想要使用alibaba的fastjson時恢总,可以做如下配置。
引入依賴
- 先在pom.xml中引入相關(guān)依賴
<!--alibaba json-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.36</version>
</dependency>
配置
兩種方式
- bean注入HttpMessageConverters:
/*
* 啟用fastjson 的轉(zhuǎn)換
* */
@Bean
public HttpMessageConverters fastJsonHttpMessageConverters() {
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
fastConverter.setFastJsonConfig(fastJsonConfig);
return new HttpMessageConverters(fastConverter);
}
2.繼承WebMvcConfigurerAdapter睬愤,重寫configureMessageConverters方法
@Configuration
public class WebMvcConfigurer extends WebMvcConfigurerAdapter {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
//自定義配置...
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss"); // 自定義時間格式
fastJsonConfig.setSerializerFeatures(
//配置美觀的輸出格式
SerializerFeature.PrettyFormat,
//配置輸出空值
SerializerFeature.WriteMapNullValue,
//將字符串類型字段的空值輸出為空字符串 ""
SerializerFeature.WriteNullStringAsEmpty);
converter.setFastJsonConfig(fastJsonConfig);
converters.add(converter);
}
}
不序列化某個字段
比如我們把user表的數(shù)據(jù)取出來給前臺片仿,密碼的字段肯定是不能顯示的,這樣我們可以配置尤辱,讓某個字段不序列化
@JSONField(serialize=false)
private String pwd;
這樣砂豌,就可以啟用fasjson作為默認的轉(zhuǎn)換器了