如何使用';dd-MMM-yyyy';在Java中使用@JsonFormat?
如何使用Jackson库中的@JsonFormat将日期解析为'dd-MMM-yyyy'格式?我正在使用Java8和Jackson 2.8.9 例如: 我想得到:2019-06-22T00:00:00Z->2019年6月22日 我正在使用如何使用';dd-MMM-yyyy';在Java中使用@JsonFormat?,java,json,date,jackson,Java,Json,Date,Jackson,如何使用Jackson库中的@JsonFormat将日期解析为'dd-MMM-yyyy'格式?我正在使用Java8和Jackson 2.8.9 例如: 我想得到:2019-06-22T00:00:00Z->2019年6月22日 我正在使用 @JsonFormat(pattern = "dd-MMM-yyy") private Date myDate; 我收到一个例外: JSON分析错误:无法从字符串“2019-06-22T00:00:Z”反序列化java.util.Date
@JsonFormat(pattern = "dd-MMM-yyy")
private Date myDate;
我收到一个例外:
JSON分析错误:无法从字符串“2019-06-22T00:00:Z”反序列化java.util.Date类型的值:预期格式为“dd-MMM-yyyy”
我原以为我能把那个日期解析成预期的格式,但看起来不可能这样。你有什么建议我怎么做?我在寻找最好的方法。我可以使用这个注释吗?因为您使用的是java 8,所以应该使用
LocalDate
而不是旧的API
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MMM-yyyy")
private final LocalDate localDate;
我还能够使用
Date
API反序列化。如果不起作用,请尝试更新jackson工件。使用此库日期格式
dateFormat('your date variable', "mm/dd/yyyy")
您是否使用java 8+版本?问题中有一种格式,代码示例中有另一种格式,但没有一种格式与输入字符串匹配。如果日期以字符串开头,则必须首先解析传入字符串。一旦在对象中表示了它,就可以按所需的方式格式化输出。但我不确定这就是你想要达到的目标。@Govi S:我在Java上8@DanielBarbarian:对不起。这是我的代码中的一个错误,现在它的格式很好。此myDate变量是模型的一部分,我正在寻找一种在不使用其他方法或对象的情况下执行即时解析的方法。顺便说一句,我建议您向数据发布者介绍将日期时间值交换为文本时要使用的标准格式。我和您做的一样,但我遇到了一个异常:java.time.format.DateTimeParseException:无法在索引2处解析文本“2019-06-22T00:00:00Z”-我添加了依赖项jackson-datatype-jsr310,并使用JavaTimeModule()创建了ObjectMapper Bean。请尝试更新jackson。