0

Jsonで応答を配信する.NETRestWebサービスがあります。私はJavaでWebサービスを利用しています。私はGsonを使用してJsonとの間でシリアル化を行っています。

ポリモーフィズムに関しては、.NETとJavaの間でシリアル化する際に問題が発生します。

抽象クラスを拡張するクラス用のGson用のカスタムシリアライザーアダプターを作成するために、このガイドに従いました: http ://www.javacodegeeks.com/2012/04/json-with-gson-and-abstract-classes .html

問題は、Gsonが次を生成することです。

{"type":"Circle","properties":{"color":"red"}}

.NETのデフォルトの実装は、新しい「プロパティ」属性を理解しません。アダプターに書き込む必要があるのは次のとおりです。

{"__type":"Circle","color":"red"}

シリアル化するときに代わりにこれを出力するようにアダプターを変更するにはどうすればよいですか?また、誰がそれを逆シリアル化するのですか?

4

1 に答える 1

0

以下を抽象基本クラスに追加して解決し、Gson によって自動的にシリアル化されます。

private String __type = this.getClass().getSimpleName();
于 2012-05-29T19:50:17.250 に答える