步驟一:引入依賴
<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"