文章目录
JsonField用法JsonFormat用法
JsonField用法
**JsonField**是fastJson包中一个注解,主要作用于字段类型上,用于字段序列化及反序列化等。
@Retention(RetentionPolicy
.RUNTIME
)
@Target({ ElementType
.METHOD
, ElementType
.FIELD
, ElementType
.PARAMETER
})
public @
interface JSONField {
int ordinal() default 0;
String
name() default "";
String
format() default "";
boolean serialize() default true;
boolean deserialize() default true;
SerializerFeature
[] serialzeFeatures() default {};
Feature
[] parseFeatures() default {};
}
使用JsonField会非常方便在序列化和反序列化的时候,也可以单独作用于get/set方法上
@Data
public class OperationLog {
private Integer id
;
@JSONField(name
= "id")
public Integer
getId() {
return id
;
}
public void setId(Integer id
) {
this.id
= id
;
}
private String supplierId
;
@JSONField(name
= "name", serialzeFeatures
= SerializerFeature
.WriteMapNullValue
)
private String userName
;
@JSONField(format
= "yyyy-MM-dd HH:mm:ss")
private String time
;
}
{"id":11,"supplierId":"11","userName":null
,"time":"yyyy-MM-dd HH:mm:ss"}
JsonFormat用法
**JsonFormat**是Jackson包中的一个注解,主要也是用于序列化和反序列化上,在作用于日期类型的字段
时,JsonFormat会更加方便,以及指定时区东八区,避免造成时区导致的时间误差
@JsonFormat(pattern
= "yyyy-MM-dd HH:mm:ss", timezone
= "GMT+8")
private Date addTime
;