2016-03-20 6 views
1

私はJETTISONのドライバーが見つかりました。複数のクラスのエイリアスを持つJSONからObjectへの変換器はありますか?

しかし、何らかの理由でArrayListを使用している間、私のローカルテストでは動作していますが、jbossサーバーにデプロイしていないと動作しません。 (私は別の質問としてこれを尋ねます)

他に何かありますか? GSONとJacksonですでに試してみましたが、助けにはなりません。

これは私が必要とする構造体である:私はGSONやジャクソンを使用する場合は、ときにオブジェクト

D.

クラスC &のインスタンスを含むクラスBのオブジェクトを、持っている

class A 
{ 
    List<A> memberList; 
} 

class B extends A 

class C,D extends class A 

クラスBのJSONに変換されると、クラスタイプC & Dが失われます。したがって、オブジェクトに戻すと、リストmemberListにタイプCまたはDのオブジェクトが含まれているかどうかを確認できません。

答えて

1

私はjacksonを使用する方法を見つけました。とても素敵な説明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), 
    }) 
関連する問題