时间的序列化和反序列化

序列化 

import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;


public class CustomDateSerializer extends JsonSerializer
{
    @Override
    public void serialize(Date date, JsonGenerator gen, SerializerProvider provider)throws IOException {
        SimpleDateFormat format =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String formattedDate = format.format(date);
        gen.writeString(formattedDate);
    }
}

//     然后在实体类的date的get方法上面加上 @JsonSerialize(using = CustomDateSerializer.class)

//     如下:
//     @JsonSerialize(using = CustomDateSerializer.class)
//     public Date getCreateTime() {
//         return createTime;
//     }

 
反序列化

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;


public class CustomJsonDateDeserializer extends JsonDeserializer {
    @Override
    public Date deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String date = jp.getText();
        try {
            return format.parse(date);
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }
    }
}


//     然后在实体类的date的set方法上面加上 @JsonDeserialize(using = CustomJsonDateDeserializer.class)

//     如下:
//     @JsonDeserialize(using = CustomJsonDateDeserializer.class)
//     public void setCreateTime(Date createTime) {
//        this.createTime = createTime;
//     }

你可能感兴趣的:(时间的序列化和反序列化)