我有一个.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"}
如何在序列化时更改适配器以输出它,以及将其反序列化?
答案 0 :(得分:0)
通过将以下内容添加到抽象基类来解决它,因此它由Gson自动序列化:
private String __type = this.getClass().getSimpleName();