创建 JsonDeserializer 类
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;
public class MDateTimeDeserializer extends JsonDeserializer<MDateTime> {
private static final long serialVersionUID = -1234567887492178455L;
@Override
public MDateTime deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
if (p.isNaN()) {
return null;
}
return new MDateTime(p.getValueAsString());
}
}
通过 SimpleModule 设置
@JsonIgnore
@JSONField(serialize = false, deserialize = false)
private static ObjectMapper objectMapper = new ObjectMapper();
static {
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
SimpleModule simpleModule = new SimpleModule();
simpleModule.addSerializer(MDateTime.class, ToStringSerializer.instance);
simpleModule.addDeserializer(MDateTime.class, new MDateTimeDeserializer());
objectMapper.registerModule(simpleModule);
}