@JsonSerialize注解,可以实现date数据转换成long型数据等功能,该注解作用在属性的getter()方法上
用于在序列化时嵌入我们自定义的代码,比如序列化一个double时在其后面限制两位小数点。因为在java中日期时期的时间戳是ms,我现在需要将ms转换为s,就需要将ms/1000
package com.whf.utils.serializer; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; import java.util.Date; import java.io.IOException; /** *该类可以将data转换成long类型 */ public class Data2LongSerizlizer extends JsonSerializer<Date> { @Override public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { //将毫秒值转换成秒变成long型数据返回 jsonGenerator.writeNumber(date.getTime()/1000); }
//创建时间 @JsonSerialize(using = Data2LongSerizlizer.class ) private Date createTime; //更新时间 @JsonSerialize(using = Data2LongSerizlizer.class ) private Date updateTime;
这样就完成了时间戳13位到10位的转换