项目中,通过接口调用返回的JSON数据中日期类型是毫秒,但是前端需要的是秒,如果通过方法进行转化的话,会显得特别繁琐,这里介绍一种注解的方式,轻松实现毫秒到秒的转化。
首先,定义一个类,使它继承JsonSerializer类,通过重写serialize方法,实现毫秒到秒的转化。
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.util.Date;
/**
* Created by Administratior
* 2018-06-13 14:28
*/
public class Date2LongSerializer extends JsonSerializer<Date>{
@Override
public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
jsonGenerator.writeNumber(date.getTime() / 1000);
}
}
在POJO中给需要进行转化的字段添加注解(using = Date2LongSerializer.class)即可实现。
/**创建时间*/
@JsonSerialize(using = Date2LongSerializer.class)
private Date createTime;
/**更新时间*/
@JsonSerialize(using = Date2LongSerializer.class)
private Date updateTime;