將spring boot 預設的jackson框架轉換為fastjson
阿新 • • 發佈:2018-11-06
將spring boot 預設的jackson框架轉換為fastjson
fastjson可以預設將下劃線引數轉換為駝峰屬性。
實現程式碼:
一、新增依賴
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
二、實現
1、定義WebParameterConfig類繼承WebMvcConfigurerAdapter
2、重寫方法configureMessageConverters()
@Configuration public class WebParameterConfig extends WebMvcConfigurerAdapter { /** * 替換框架json為fastjson * @param converters */ @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); FastJsonConfig fastJsonConfig = new FastJsonConfig(); //駝峰轉下劃線 SerializeConfig serializeConfig=new SerializeConfig(); serializeConfig.propertyNamingStrategy= PropertyNamingStrategy.SnakeCase; fastJsonConfig.setSerializeConfig(serializeConfig); //序列化格式 fastJsonConfig.setSerializerFeatures( SerializerFeature.PrettyFormat, SerializerFeature.WriteNullStringAsEmpty ); // 處理中文亂碼問題 List<MediaType> fastMediaTypes = new ArrayList<>(); fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8); fastConverter.setSupportedMediaTypes(fastMediaTypes); fastConverter.setFastJsonConfig(fastJsonConfig); //處理字串, 避免直接返回字串的時候被添加了引號 StringHttpMessageConverter smc = new StringHttpMessageConverter(Charset.forName("UTF-8")); converters.add(smc); converters.add(fastConverter); } }