如果Jackson注释没有毫秒可用,则解析时间

时间:2017-03-01 14:31:08

标签: jackson

通常我会得到像2017-02-25T06:36:21.530

这样的日期

我使用以下注释:

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS")
@JsonSerialize(using = LocalDateTimeSerializer.class)
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonProperty

然而,如果提供的时间没有毫秒,则会失败,例如2017-02-25T06:36:21 有没有办法在这种情况下指定忽略毫秒,例如使用000?

谢谢,杰森

1 个答案:

答案 0 :(得分:0)

不确定为什么使用自定义反序列化器,但是为了进行这种反序列化,你不需要它,以及@JsonFormat。 您可以配置映射器并使用该格式的日期(iso 8601),即使没有毫秒:

    ObjectMapper mapper = new ObjectMapper();
    mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
    // In case you use Java 8 dates
    mapper.registerModule(new JavaTimeModule());