【发布时间】:2019-12-30 19:40:37
【问题描述】:
有以下几种:
一个
public interface A {
}
Aa
class Aa implements A {
private int aInt;
private String aString;
private boolean aBoolean;
//getters and setters
}
Bb
public class Bb implements A {
private int bInt;
private String bString;
private boolean bBoolean;
//getters and setters
}
和C
public class C implements serializable {
private int cInt;
private String cString;
private boolean cBoolean;
private List<A> aList;
//getters and setters
}
如何为 C 类编写自定义的反序列化器和序列化器? C 类的实例包含 Aa 类和 Bb 类对象的列表。
【问题讨论】:
-
Bb implements B?不应该是Bb implements A吗?在您的示例中,所有实现都有不同的属性集。它在您的应用程序中看起来是否相同?你在这个example 这样的基类中有type属性吗?如果您可以控制序列化,则应该使用它。 -
是的,它是一个错字,它应该是实现 A.. 更正
-
其他问题呢?您能否添加额外的
type字段,该字段将用作给定类型的决定因素? -
不,我不能添加额外的类型参数..
标签: java json jackson gson deserialization