將SpringBoot默認Json解析框架jackson替換成fastjson


步驟一:引入依賴
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>

步驟二:定制一個物理類,將其變成一個配置文件
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

import java.util.ArrayList;
import java.util.List;

//將一個物理類變成一個配置文件
@Configuration
//適配器
public class WebMvcConfig extends WebMvcConfigurerAdapter {
/**
* 利用fastjson替換掉jackson,且解決中文亂碼問題
* @param converters
*/
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
//1.構建了一個HttpMessageConverter FastJson 消息轉換器
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
//2.定義一個配置,設置編碼方式,和格式化的形式
FastJsonConfig fastJsonConfig = new FastJsonConfig();
//3.設置成了PrettyFormat格式
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
//4.處理中文亂碼問題
List<MediaType> fastMediaTypes = new ArrayList<>();
fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
fastConverter.setSupportedMediaTypes(fastMediaTypes);

//5.將fastJsonConfig加到消息轉換器中
fastConverter.setFastJsonConfig(fastJsonConfig);
converters.add(fastConverter);
}
}

步驟三:
日期格式設定:
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;

注意:這里的pattern里的日期格式也可以設置成"yyyy/MM/dd HH:mm:ss"
后面的時分秒的設置也可以沒有,可以直接設置成:
"yyyy-MM-dd" 或 "yyyy/MM/dd"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM