如何在Java中使用'dd-MMM-yyyy'和@JsonFormat来解析日期?

问题描述 投票:0回答:3

如何使用 Jackson 库中的 @JsonFormat 将日期解析为“dd-MMM-yyyy”格式?我正在使用 Java 8 和 Jackson 2.8.9。

示例: 我想得到: 2019-06-22T00:00:00Z -> 22-Jun-2019

我正在使用

@JsonFormat(pattern = "dd-MMM-yyy")
private Date myDate;

我收到一个异常:

JSON 解析错误:无法从字符串“2019-06-22T00:00:Z”反序列化 java.util.Date 类型的值:预期格式“dd-MMM-yyyy”

我以为我能够将该日期解析为预期格式,但看起来这是不可能的。您有什么建议吗?我该怎么做?我正在寻找最好的方法。我可以使用这个注释来做到这一点吗?

java json date jackson
3个回答
1
投票

由于您使用的是 java 8,因此您应该使用

LocalDate
而不是旧的 API。

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MMM-yyyy")
private final LocalDate localDate;

我也可以使用

Date
API 进行反序列化。如果还不行,请尝试更新jackson神器。


0
投票

使用这个库日期格式

 dateFormat('your date variable', "mm/dd/yyyy")

总是能成功


0
投票

在java 8及以上版本中你可以使用如下:

 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy")
private LocalDate month;
© www.soinside.com 2019 - 2024. All rights reserved.