springmvc使用Jackson序列化反序列化日期
阿新 • • 發佈:2019-02-16
1、序列化
public class CustomDateSerializer extends JsonSerializer { @Override public void serialize(Date value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); String formattedDate = formatter.format(value); jgen.writeString(formattedDate); } } 然後在你的POJO上找到日期的get方法 @JsonSerialize(using = CustomDateSerializer.class) public Date getCreateAt() { return createAt; }
2、反序列化
public class CustomJsonDateDeserializer extends JsonDeserializer<Date> { @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); } } } 且在欄位的setter上加上註解 @JsonDeserialize(using = CustomJsonDateDeserializer.class)