あるソケットから別のソケットにオブジェクトを送信する必要があります。シリアル化にJSONを使用したいと思います。 すべてのjsonオブジェクトはそのタイプを格納する必要があります。私の計画は私のオブジェクトをラップすることでした:jsonのGsonストアオブジェクトタイプ
{
/* the type */ "_type_": "my.package.MyClass",
/* the actual object */ "_data_": {
...
}
}
、何かを私は理論的には、この連載のアダプタに
を書くことで、これを実装しようとした、これは動作しますが、私はネストされたオブジェクトをシリアル化しようとすると、それが失敗しましたこの
のような唯一のMyType
は、ラップされ、その結果、JSONは次のようになりますので:
{
"__type__": "my.package.MyType",
"__data__": {
(No "__type__" field here...)
...
}
}
オブジェクトを次のような型でシリアル化できますか?
[Gson - フィールド値に基づいて特定のオブジェクトタイプに非直列化](https://stackoverflow.com/questions/21767485/)と同様の問題を解決しようとしているようです。それを確認して、現在の問題が重複しているかどうかをお知らせください。 –
@SergeyBrunovは本当にありません。私はすべての型のために働く解決策が必要です/どの型がシリアル化されるかわかりません... – NyxMC
良い、私はポイントを参照してください。あなたはこれらのものを見てみることができますか:[java - Gsonと直列化するときにクラス名を公開する方法](https://stackoverflow.com/questions/19129711)、[java-gson - 直列化の際のクラス名プロパティを含める方法任意のタイプのオブジェクト](https://stackoverflow.com/questions/39999278)? –