Java 如何以不同的方式反序列化同一类

Java 如何以不同的方式反序列化同一类,java,jackson,deserialization,Java,Jackson,Deserialization,//投入1: class example { String name; Type type ; } “测试”键映射到“名称”字段 //输入2: example: cloud: test: type: boolean inputstream可以具有上述任何一种功能,但只有在运行时才知道输入。如何支持 两种输入格式?我有以下反序列化的代码。但无法根据输入获取一个 example: cloud:

//投入1:

class example {
    String name;
    Type type ;
}
“测试”键映射到“名称”字段

//输入2:

 example: 
      cloud: 
          test: 
            type: boolean
inputstream可以具有上述任何一种功能,但只有在运行时才知道输入。如何支持 两种输入格式?我有以下反序列化的代码。但无法根据输入获取一个

example:
      cloud:
        name: test
        type: boolean
Input 1 deserializer

    reader.readFields(f -> {
          example.setName(f.name);
          reader.readObject(() -> {
            reader.readFields(f2 -> {
              switch (f2.name) {
                case "type":
                  example.setType(reader.readString());
                  break;
                
              }
            });
          });
    
    Input 2 deserializer
     
    
        reader.readObject(() -> {
                    reader.readFields(f2 -> {
                      switch (f2.name) {
                        case "type":
                          example.setType(reader.readString());
                          break;
                        case "name":
                          example.setName(reader.readString());
                          break;
                        
                      }
                    });
                  });