[英]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.