我想將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