【问题标题】:Jackson not de-serializing dates properly?杰克逊没有正确反序列化日期?
【发布时间】:2020-04-21 05:57:57
【问题描述】:

我的 Java 类中有以下字段来记录时间戳:

@JsonProperty
@JsonFormat(pattern = "YYYY-MM-dd hh:mm:ss", timezone = "GMT")
private Date timestamp;

此对象被创建并保存在数据库中。这很好用,但是当从包含正确日期的数据库中获取记录时,杰克逊总是将月份和日期设置为 12-30,从而错误地反序列化 JSON。

例如如果我使用此时间戳创建记录:

2020-01-02 12:30:00

Jackson 会将其反序列化为:

2020-12-30 12:30:00

这种情况每次都会发生,我不知道是什么原因造成的。有人可以帮忙吗?

【问题讨论】:

标签: java json rest jackson


【解决方案1】:

您的模式正在混淆几分钟和几个月。请参阅SimpleDateFormat 的文档

你可能想要:@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT")

【讨论】:

    猜你喜欢
    • 2019-09-02
    • 2017-04-25
    • 2019-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-25
    相关资源
    最近更新 更多