我有一个来自API的Date格式,如下所示:
"start_time": "2015-10-1 3:00 PM GMT+1:00"
这是YYYY-DD-MM HH:MM am / pm GMT时间戳。我将此值映射到POJO中的Date变量。显然,其显示转换错误。
我想知道两件事:
与Jackson进行转换时,我需要使用哪种格式?Date是否适合此字段类型?
Date是一个很好的字段类型。您可以使用ObjectMapper.setDateFormat以下命令轻松地使JSON可解析:
Date
ObjectMapper.setDateFormat
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm a z"); myObjectMapper.setDateFormat(df);
通常,是否有一种方法可以在Jackson将变量映射到Object成员之前处理这些变量?诸如更改格式,计算等。
是。您有几种选择,包括实现自定义JsonDeserializer,例如extends JsonDeserializer<Date>。这是一个好的开始。
JsonDeserializer
JsonDeserializer<Date>