对象映射字段

Object mapping fields

我有一个对象class答:

  public class A {
    private Long id;
    private String name;
    private String mail;
    private String moreData;
    // ...
  }

class乙:

  public class B {
    private Long id;
    private String name;
    private String crc;
    // ...
  }

我可以使用 jackson 提供从对象 A 到 B 的字段映射,将相应的字段复制到目标对象中吗?

我需要对象

  A {
    Long id = 23L;
    String name = "name";
    String mail = "mail";
    String moreData = "moreData";
    // ...
  }

获取为目标对象

  B {
    Long id = 23L;
    String name = "name";
    String crc = mull;
    // ...
  }

对象映射处理后...

是否可以使用com.fasterxml.jackson以简单的方式实现解决方案?

当然可以。尽管完全理解你为什么要这样做,或者我认为可能有比转换为 JSON 然后返回更有效的方法,但如果你想使用 Jackson,我会这样做:

ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
B b = objectMapper.readValue(objectMapper.writeValueAsString(a), B.class);

希望这对您有所帮助。应该做的工作。关键是告诉 Jackson 不要在未知属性上失败,这样它就会丢弃那些你不确定的属性。