我想将 JSON 字符串转换为 java 对象,但该对象的类包含抽象字段,Jackson 无法实例化这些字段,并且不会生成该对象。告诉它抽象类的某些默认实现的最简单方法是什么,例如
setDefault(AbstractAnimal.class, Cat.class);
或者根据 JSON 属性名称来决定实现类,例如。对于 JSON 对象:
{
...
cat: {...}
...
}
我只想写:
setImpl("cat", Cat.class);
我知道在 Jackson 中可以将类信息嵌入 JSON 中,但我不想使我使用的 JSON 格式复杂化。我想通过设置默认实现类或属性名称('cat')来决定使用哪个类 - 就像在 XStream 库中一样,您在其中编写:
xStream.alias("cat", Cat.class);
有没有办法做到这一点,尤其是在一行中,还是需要更多代码?