Jackson JSON 库:如何实例化包含抽象字段的类
2022-09-01 00:03:55
我想将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);
有没有办法做到这一点,特别是在一行中,或者它是否需要更多的代码?