package com.nanjing.water.common.serializer.deserializer;
|
|
import com.fasterxml.jackson.core.JsonParser;
|
import com.fasterxml.jackson.databind.DeserializationContext;
|
import com.fasterxml.jackson.databind.JsonDeserializer;
|
import com.nanjing.water.common.ConstantFactory;
|
import com.nanjing.water.common.util.LocalDateTimeUtil;
|
import com.nanjing.water.common.util.StringUtil;
|
|
import java.io.IOException;
|
import java.time.LocalDate;
|
|
/**
|
* 自定义json反序列化 LocalDate 属性
|
* @author linliu
|
* @date 2020-05-12
|
*/
|
public class CQLocalDateDeSerializer extends JsonDeserializer<LocalDate> {
|
@Override
|
public LocalDate deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
|
String value = p.getText();
|
if(StringUtil.isMatch(value, ConstantFactory.REGEX_DATE)) {
|
return LocalDateTimeUtil.getDate(value);
|
} else {
|
throw new IOException("can't be deserialize as type “LocalDate”, " + value);
|
}
|
}
|
}
|