Java Jackson:当类名更改并且类从另一个类继承时,序列化是否应该更改?
假设我有以下课程:Java Jackson:当类名更改并且类从另一个类继承时,序列化是否应该更改?,java,jackson,Java,Jackson,假设我有以下课程: class OrigClass { private int fieldOne; private int field Two; // getters and setters } 假设我序列化了这个类的一个对象,并通过类NewClass将其传递给read: class NewClass extends BaseClass { private int fieldOne; // getters and setters } class Bas
class OrigClass {
private int fieldOne;
private int field Two;
// getters and setters
}
假设我序列化了这个类的一个对象,并通过类NewClass将其传递给read:
class NewClass extends BaseClass {
private int fieldOne;
// getters and setters
}
class BaseClass {
private int field Two;
// getters and setters
}
如您所见,NewClass的对象具有与OrigClass完全相同的属性。区别在于类名不同,NewClass从BaseClass继承fieldOne。在这种情况下,NewClass的反序列化是否会发生错误?如果字段是否继承对Jackson来说无关紧要,它将检查setter
如果它能反序列化,它就会。序列化
OrigClass
和反序列化NewClass
时应该不会遇到任何问题。您可以向您展示代码以及您到底遇到了什么错误吗?我没有说我遇到了错误。我问杰克逊是否应该知道如何处理这样的案件。你在发帖前试过了吗?这应该会影响序列化吗?getter名称/属性名称无效?不仅是setter名称,还可以查看注释,如果您想要高级行为,还可以查看自定义序列化程序/反序列化程序。