Jackson Deserializer为一个自定义领域?

hvg*_*des 8 json jackson deserialization

我相信我们需要一个自定义反序列化器来完成我们班级中一个字段的特定操作.一旦我这样做,我现在负责反序列化所有其他领域.有没有办法让杰克逊反序列化所有领域,除了我关注的那个领域?

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

感谢名单

kle*_*ash 7

在POJO中的字段上添加@JsonDeserialize(using = ThingDeseralizer.class)注释.

这将告诉杰克逊如何反序列化该特定字段,其余全部将默认为.