Jackson - How to specify a single implementation for interface-referenced deserialization?

前端 未结 3 782
感动是毒
感动是毒 2020-12-05 09:40

I want to deserialize a JSON-Object with Jackson. Because the target is an interface I need to specify which implementation should be used.

This information could be

3条回答
  •  佛祖请我去吃肉
    2020-12-05 10:29

    Use a SimpleAbstractTypeResolver:

    ObjectMapper mapper = new ObjectMapper();
    
    SimpleModule module = new SimpleModule("CustomModel", Version.unknownVersion());
    
    SimpleAbstractTypeResolver resolver = new SimpleAbstractTypeResolver();
    resolver.addMapping(Interface.class, Implementation.class);
    
    module.setAbstractTypes(resolver);
    
    mapper.registerModule(module);
    

提交回复
热议问题