@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位的时间戳转换。
本文介绍如何使用@JsonSerialize注解将Date类型的属性转换为Long类型的时间戳,通过自定义序列化器Data2LongSerizlizer,实现从毫秒级时间戳到秒级时间戳的转换。
3634

被折叠的 条评论
为什么被折叠?



