举例,对 LocalDateTime 类型日期的序列化:
public class LocalDateTimeSerializer extends JsonSerializer<LocalDateTime> { @Override public void serialize(LocalDateTime localDateTime, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException { jsonGenerator.writeString(localDateTime.toString()); } }
对Date 类型日期的反序列化:
JavaBean中的属性配置注解public class JsonDateDeserializer extends JsonDeserializer<Date> { @Override public Date deserialize(JsonParser jp, DeserializationContext deserializationContext) throws IOException, JsonProcessingException { SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd"); String date = jp.getText(); try { return format.parse(date); } catch (ParseException e) { throw new RuntimeException(e); } } }
@JsonDeserialize(using = XXXDeserializer.class) @JsonSerialize(using = XXXSerializer.class)using 属性值为 需要解析的日期类型 对应的解析器或自定义解析器