我想用杰克逊反序列化JSON对象。因为目标是接口,所以我需要指定应使用哪种实现。
该信息可以使用@ JsonTypeInfo-Annotation存储在JSON对象中。但是我想在源代码中指定实现,因为它总是一样的。
这可能吗?
使用一个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);