我想将JSON字符串转换为java对象,但该对象的类包含抽象字段,Jackson无法实例化,并且不会生成目的。什么是告诉它的抽象类的一些默认实现最简单的方法,像杰克逊JSON库:如何实例化一个包含抽象字段的类
setDefault(AbstractAnimal.class, Cat.class);
或者决定有关基于JSON的实现类属性的名称,例如。为JSON对象:
{
...
cat: {...}
...
}
我只想WITE:
setImpl("cat", Cat.class);
我知道这是可能在杰克逊嵌入内部JSON类的信息,但我不希望JSON格式复杂我使用。我想决定只是通过设置默认的实现类,或属性名称(“猫”)使用什么类 - 像XStream的图书馆,在那里你写:
xStream.alias("cat", Cat.class);
有没有办法这样做,特别是在一行中,还是需要更多的代码?
在Java中没有像'抽象字段'那样的东西。 – EJP 2011-03-30 23:15:01
我的意思是: 'class C {animal animal; }' 我想实例化C,其中Aniaml是抽象的,我想在这个字段中放入一个Cat,它扩展了Animal – Marcin 2011-03-31 07:07:39
,所以没有问题。对于抽象类型的变量没有规则。 – EJP 2011-04-05 10:47:59