我相信我们需要一个自定义的反序列化器来对我们类的一个字段做一些特定的事情。看来一旦我这样做了,我现在负责反序列化所有其他领域。有没有办法让 jackson 反序列化除了我在这里关心的领域之外的所有领域?
public class ThingDeseralizer extends StdDeserializer<Thing> {
@Override
public Thing deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
ObjectCodec oc = p.getCodec();
JsonNode node = oc.readTree(p);
String special = node.get("special").asText();
Thing thing = new Thing()
thing.doSomethignWithSpecial(special)
return thing;
}
}
谢谢
最佳答案
在您的 POJO 字段中添加 @JsonDeserialize(using = ThingDeseralizer.class)
注解。
这将告诉 Jackson 如何反序列化该特定字段,其余部分将作为默认值。
关于json - Jackson Deserializer 用于一个自定义字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41001302/