如何编写我可以用于.NET的Gson自定义序列化程序适配器?

时间:2012-05-29 18:15:12

标签: java .net json serialization gson

我有一个.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"}

如何在序列化时更改适配器以输出它,以及将其反序列化?

1 个答案:

答案 0 :(得分:0)

通过将以下内容添加到抽象基类来解决它,因此它由Gson自动序列化:

private String __type = this.getClass().getSimpleName();