SpringBoot中使用JsonSerialize转换Date格式日期为Long时间戳

返回JSON数据中时间格式为:

期望返回时间转换为Long时间戳如下

实现步骤:

  1. 在实体类中在要转换的字段上加上该注解,如下:
    1
    2
    3
     /** 订单创建时间 */
    @JsonSerialize(using = DateToLongSerializer.class)
    private Date consultTime;
  2. 创建类继承JsonSerializer,重写public abstract void serialize(T var1, JsonGenerator var2, SerializerProvider var3) 方法
    1
    2
    3
    4
    5
    6
    7
    public class DateToLongSerializer extends JsonSerializer<Date> {

    @Override
    public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
    jsonGenerator.writeNumber(date.getTime() / 1000);
    }
    }
    再次运行时间格式将会按照要求转换成功