使用Jackson将JSON字符串的一部分反序列化为POJO中的DateTime

问题描述

我正在读取给定格式的json并将其存储为POJO。

{
 "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?

解决方法

应该能够为您的日期使用 <form action="{{ route('withdrawal-status.update','id'== id) }}" method ="post"> @csrf @method('put') <div id="checkboxes"> <input type="checkbox" class="checkbox" name="id" value="{{ $item->id }}" id="{{ $item->id }}" </div> </form> 注释。首先将您的时间字段从Withdraw::whereIn('id',$id)->update(array('status' => 1)); 更改为@JsonFormat,然后执行以下操作:

String

以下链接显示了如何进行其他不同的转换,尤其是在其采用标准时间格式的情况下

https://www.baeldung.com/jackson-serialize-dates

,
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JodaModule());

添加它对我有用。 在POJO中,将时间指定为“ DateTime”而不是“ String”。

public class Details
{
    private int version;
    private DateTime time;
    ...
    //getters & setters
}