反序列化的杰克逊日期模式微秒/毫秒

发布于 2025-01-13 15:21:48 字数 347 浏览 3 评论 0原文

我从服务收到消息,消息包含日期。日期可以有两种格式: 2022-03-11T22:45:54.448907 - 点后 6 位数字(微秒),2022-03-11T22:45:54.448 - 点后三位数字(普通毫秒)。我正在使用 java 和 jackson 来反序列化响应。有没有办法让事情变得简单,就像下面的代码片段一样?或者我必须编写一个自定义反序列化器?

@Data
class A {

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS")
    private Date dateTime;
}

I receive messages from a service, a message contains date. Date can come in two formats:
2022-03-11T22:45:54.448907 - 6 digits after dot (kind of microseconds), and 2022-03-11T22:45:54.448 - three digits after dot (plain millis). I'm using java and jackson to deserialize the response. Is there a way to keep things simple like in the snippet below? Or I have to write a custom deserializer?

@Data
class A {

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS")
    private Date dateTime;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文