0

我有一个 .NET Rest 网络服务,它以 Json 形式提供响应。我在 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 回答