Java 使用Jackson将部分JSON字符串反序列化为POJO中的DateTime
我正在读取给定形式的json并将其存储为POJOJava 使用Jackson将部分JSON字符串反序列化为POJO中的DateTime,java,datetime,jackson,deserialization,pojo,Java,Datetime,Jackson,Deserialization,Pojo,我正在读取给定形式的json并将其存储为POJO { "details" : [ { "version" : 1, "time" : "2021-01-01T00:00:00.000Z", } ] } 我的POJO类看起来像: public class Details { private int version; private String time;
{
"details" : [
{
"version" : 1,
"time" : "2021-01-01T00:00:00.000Z",
}
]
}
我的POJO类看起来像:
public class Details
{
private int version;
private String time;
public Integer getVersion(){
return version;
}
public void setVersion(int version){
this.version = version;
}
public String getTime(){
return time;
}
public void setTime(String time){
this.time = time;
}
}
时间被读取为字符串。如何使用Jackson将其反序列化为DateTime?应该能够为您的日期使用
@JsonFormat
注释。首先将时间字段从String
更改为Date
,然后执行以下操作:
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy'T'hh:mm:ss.SSS'Z'")
private Date time;
下面的链接显示了如何进行其他不同的转换,特别是如果它是标准时间格式
添加这个对我来说很有效。
在POJO中,将时间指定为“DateTime”而不是“String”
public class Details
{
private int version;
private DateTime time;
...
//getters & setters
}
在发布此问题之前,您是否尝试过谷歌搜索或在线搜索?一个简单的在线搜索会给你结果。这适用于Date,而不是DateTime。看看它需要是Joda time,“DateTime”而不是Date,因为我稍后会用另一个DateTime检查它。我已经尝试了这个链接的第8步。我收到错误“不兼容类型”。找到你可以发布你尝试过的和你收到的任何stacktraces。将helpful@lakshmisubhash,看看,
public class Details
{
private int version;
private DateTime time;
...
//getters & setters
}