我正在使用带有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方法来创建这些值类型字符串。