我想用 Jackson 反序列化 JSON 对象。因为目标是一个接口(interface),所以我需要指定应该使用哪个实现。
此信息可以使用@JsonTypeInfo-Annotation 存储在JSON-Object 中。但我想在源代码中指定实现,因为它总是一样的。
这可能吗?
最佳答案
使用 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);
关于java - Jackson - 如何为接口(interface)引用的反序列化指定单个实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12688503/