1. 程式人生 > >Spring-boot替換框架json為fastjson

Spring-boot替換框架json為fastjson

第一步: pom.xml 中刪除預設的 jackson

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId
>
jackson-databind</artifactId> </exclusion> </exclusions> </dependency>

第二步: pom.xml 中引用fastjson

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.45</version>
</dependency
>

第三步: 啟動類中配置

@SpringBootApplication  //申明讓spring boot自動給程式進行必要的配置
public class AppStart extends WebMvcConfigurerAdapter {

    public static void main(String[] args) {
        SpringApplication.run(AppStart.class, args);
    }

    /**
     * 替換框架json為fastjson
     */
    @Override
    public void
configureMessageConverters(List<HttpMessageConverter<?>> converters) { super.configureMessageConverters(converters); FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures( SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullNumberAsZero, 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); } }