代码之家  ›  专栏  ›  技术社区  ›  CrazySynthax

Jackson:当类名改变并且类从另一个类继承时,序列化应该改变吗?

  •  0
  • CrazySynthax  · 技术社区  · 4 年前

    假设我有以下课程:

    class OrigClass {
        private int fieldOne;
        private int field Two;
        // getters and setters
    }
    

    假设我序列化了这个类的一个对象,并将其传递给NewClass读取它:

    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进行反序列化时会发生错误吗?

    0 回复  |  直到 4 年前
        1
  •  1
  •   Léo Schneider    4 年前

    如果字段是否被继承对Jackson来说无关紧要,它将检查setter。

    如果它能反序列化,它就会。您应该不会遇到要序列化的问题 OrigClass 反序列化 NewClass