小编典典

日期格式映射到 JSON Jackson

all

我有一个来自 API 的日期格式,如下所示:

"start_time": "2015-10-1 3:00 PM GMT+1:00"

这是 YYYY-DD-MM HH:MM am/pm GMT 时间戳。我将此值映射到 POJO 中的日期变量。显然,它显示转换错误。

我想知道两件事:

  1. 我需要使用什么格式与 Jackson 进行转换?Date 是一个很好的字段类型吗?
  2. 一般来说,有没有办法在杰克逊将变量映射到对象成员之前对其进行处理?比如改变格式、计算等。

阅读 80

收藏
2022-07-30

共1个答案

小编典典

我需要使用什么格式与 Jackson 进行转换?Date 是一个很好的字段类型吗?

Date是一个很好的字段类型。您可以使用以下方法非常轻松地使 JSON 可解析ObjectMapper.setDateFormat

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm a z");
myObjectMapper.setDateFormat(df);

一般来说,有没有办法在杰克逊将变量映射到对象成员之前对其进行处理?比如改变格式、计算等。

是的。您有几个选择,包括实现自定义JsonDeserializer,例如扩展JsonDeserializer<Date>是一个好的开始。

2022-07-30