2016-03-20 11 views
1

我找到了JETTISON驅動程序來滿足我的需求。任何具有多個類的別名的JSON to Object轉換器?

但由於某種原因,使用ArrayList時,它在我的本地測試中工作,但在我的jboss服務器中部署時沒有。 (我會問這是另一個問題)

還有其他嗎?我已經嘗試過與GSON和傑克遜,但沒有幫助。

這是我需要的結構:

class A 
{ 
    List<A> memberList; 
} 

class B extends A 

class C,D extends class A 

我有B級,如果我使用GSON或傑克遜含有& D.

類C的實例的對象,當對象的類B被轉換爲JSON,它丟失類的類型C & D.因此,當我將它轉換回對象時,我無法找到列表memberList是否包含類型C或D的對象。

請幫忙!

回答

1

我發現了一種使用傑克遜的方法。非常好的解釋here

基本上,對於上面的例子中,我將不得不對A類提供的符號如下:

import com.fasterxml.jackson.annotation.JsonSubTypes; 
import com.fasterxml.jackson.annotation.JsonSubTypes.Type; 
import com.fasterxml.jackson.annotation.JsonTypeInfo; 
import com.fasterxml.jackson.annotation.JsonTypeInfo.Id; 

@JsonTypeInfo(use = Id.CLASS, 
       include = JsonTypeInfo.As.PROPERTY, 
       property = "type") 
@JsonSubTypes({ 
    @Type(value = C.class), 
    @Type(value = D.class), 
    }) 
相關問題