JsonFormat.Shape.NUMBER_INT针对LocalDate序列化了什么?

时间:2019-01-22 11:14:34

标签: java jackson java-time jackson2 jackson-databind

考虑示例:

public class MyDto {
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_INT)
    private LocalDate dob;
}

{"dob":17918}返回new Date().getTime()时,导致1548155501766的领先优势

它看起来不像秒或毫秒。那是什么号码?

注意

Jackson的Java时间模块包含在对象映射器中。

2 个答案:

答案 0 :(得分:1)

来自以下源代码:LocalDateSerializer.java

    if (_shape == JsonFormat.Shape.NUMBER_INT) {
        g.writeNumber(date.toEpochDay());
    } 

您可以看到,对于JsonFormat.Shape.NUMBER_INT而言,获得的数字是在LocalDate对象上调用toEpochDay()的结果。

答案 1 :(得分:0)

date getTime()方法根据通用时间返回与指定日期的时间对应的数值。

getTime方法返回的值是自1970年1月1日00:00:00以来的毫秒数。

相关问题