一、什么是@JsonFormat
@JsonFormat用来表示json序列化的一种格式或者类型
例如:
@JsonFormat(shape =JsonFormat.Shape.STRING,pattern ="yyyy-MM-dd HH:mm:ss",timezone ="GMT+8")
private LocalDate createTime;
二、为什么用@JsonFormat
@JsonFormat注解
是一个时间格式化注解
,比如我们存储在mysql中的数据是date类型的,当我们读取出来封装在实体类中的时候,就会变成英文时间格式,而不是yyyy-MM-dd HH:mm:ss这样的中文时间,因此我们需要用到JsonFormat注解来格式化我们的时间。
简而言之,将数据库中的data类型的时间格式化为yyyy-MM-dd HH:mm:ss。
二、怎么使用@JsonFormat
1、从maven导入
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.2</version>
</dependency>
2、Params
-
shape: 表示序列化后的一种类型,枚举(详见后)
-
pattern: 表示日期的格式
-
timezone: 默认是GMT,中国需要GMT+8
-
locale: 根据位置序列化的一种格式
public static enum Shape {
ANY,
NATURAL,
SCALAR,
ARRAY,
OBJECT,
NUMBER,
NUMBER_FLOAT,
NUMBER_INT,
STRING,
BOOLEAN;
private Shape() {
}
public boolean isNumeric() {
return this == NUMBER || this == NUMBER_INT || this == NUMBER_FLOAT;
}
public boolean isStructured() {
return this == OBJECT || this == ARRAY;
}
}
参考:如何使用@JsonFormat
相关文章
暂无评论...