[英]Java jackson how to deserialize into a Date
我正在使用Jackson
将日期反序列化到此属性中:
private Date createDate;
有效载荷的一部分:
"createdDate": "1979-12-05T08:00Z",
收到此错误:
无法从字符串“1979-12-05T08:00Z”中反序列化 java.util.Date 类型的值:不是有效表示(错误:无法解析日期值“1979-12-05T08:00Z”:无法解析日期“ 1979-12-05T08:00.000Z":虽然它似乎符合格式 'yyyy-MM-dd'T'HH:mm:ss.SSS'Z'',但解析失败
到目前为止我尝试的是包括这种依赖:
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
</dependency>
并且:
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-ddTHH:mmZ")
private Date createDate;
但它没有用。
JsonFormat
注释应该可以工作,您只需要将模式修复为:
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm'Z'")
private Date createDate;
此外,您应该在ObjectMapper
object 上设置时区:
ObjectMapper mapper = new ObjectMapper();
mapper.setTimeZone(TimeZone.getTimeZone("GMT"));
看一眼:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.