创建 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);
}