4

Messagepackを使用して Java クラス オブジェクトをシリアル化するのが好きです。私のクラス構造はそのようなものです

public class A
 {
   private InnerClass obj;
   //Some other variables with getters and setters.
   // There will be a getter and setter for obj(InnerClass) aswell.
 }
 class InnerClass
 {
  //Some variables with getters and setters.
 }
 class InnerDerivedClass extends InnerClass
 {
  //some variables with getters and setters.
 }

私がやりたいことは、InnerDerivedClass のオブジェクトを作成し、いくつかの値をそれに割り当てることです。次に、オブジェクトをクラス A に基本クラス オブジェクトとして追加します。クラス A オブジェクトを Messagepack でシリアル化および逆シリアル化すると、オブジェクトを InnerDerivedClass オブジェクトとして取得できず、InnerClass obj として取得できません。MessagePack を使用してこれを達成するにはどうすればよいですか。各クラスをメッセージパックに登録するのではなく、注釈を使用していません。

4

2 に答える 2

0

ネストされた構造については、 FlexJsonをお勧めします。ネストされた構造に関連する定型コードをすべて回避できます。

A obj1 = new A()
String json = JSONSerializer().deepSerialize(obj1);

//get back
A obj2 = JSONDeserializer<A>().deserialize(json);
于 2013-10-15T15:17:00.700 に答える