2

Jackson を使用すると、シリアル化されたオブジェクトに型情報を添付するオプションがあります ( http://jackson.codehaus.org/1.5.5/javadoc/org/codehaus/jackson/annotate/JsonTypeInfo.html )。

次のようなGSONを使用してこれを行う方法はありますか:

{
    propertyName:"test",
    _className:"foo.bar.TestClass"
}

アイデアは、それを汎用にすることです。そのため、aArrayList<Object>がデシリアライズされると、適切なオブジェクト インスタンスがそれとともに復元されます。

この質問を見ました: https://stackoverflow.com/a/8683689/1001027これは多かれ少なかれ必要なものですが、特定のクラスのオブジェクトに対してのみ機能します。すべてのオブジェクトがこのプロパティでシリアル化されるような一般的な方法で実装するにはどうすればよいでしょうか?

4

1 に答える 1

0

タイプ プロパティを調べてオブジェクトを特定のタイプにキャストするデシリアライザーを実装する必要があります。他に方法はないと思います。

javadocをチェックしてください。このインターフェースを実装することがあなたの答えかもしれません。

于 2013-04-25T11:29:22.760 に答える