多态字符串反序列化

时间:2018-06-25 19:59:49

标签: java json serialization jackson-databind

我正在使用带有Jackson的java,并且想使用字符串前缀作为我的反序列化类型,并使用java pojo在序列化时生成该前缀。

class A implements TopLevel {
  String id;

  public String getPrefix() {
    return "aPrefix"
  }
}

class B implements TopLevel {
  String id;
  public String getPrefix() {
    return "bPrefix"
  }
}

interface TopLevel {
  String getPrefix()
}

//This should create an instance of A w/ Id = "423412421421412RandomId"
mapper.readValue("aPrefix.423412421421412RandomId", TopLevel.class)

//This should create an instance of A w/ Id = "OtherRandomId"
B b = mapper.readValue("bPrefix.OtherRandomId", TopLevel.class)

//This should create string "bPrefix.OtherRandomId"
mapper.writeValue(b)

理想情况下,我希望能够定义以下内容,并使用@JsonSubTypes或最标准的Jackson方法来创建这些值类型字符串。

0 个答案:

没有答案