美好时光!
假设有这样一个类:
public class Individual {
@JsonProperty("passport")
private Passport passport;
// getters ans setters
}
有两个用例。首先,当收入/传出 json 必须是短格式时:
{
individual:{
passport:'123456789' <-- this is the indentifier
}
}
第二 - 扩展格式:
{
individual:{
passport:{
series:'1234',
number:'1234'
}
}
}
为了处理这种情况,可以创建 2 个类,例如 IndividualSh和IndividualExt并使用注释@JsonSerializer
并@JsonDeserializer
自定义输入/输出。我想尝试其他方法来保留唯一的一个Individual类,因为它有很多字段,其中一半需要自定义。第一个想法是编写几个序列化器/反序列化器和一个工厂,这将使用 javassist 库使用所需的序列化器/反序列化器注释标记问题字段,但它似乎是一种开销。
jlabedo here有一个很好的例子,但我不知道如何在我的情况下使用它。
请建议,如何正确地做。提前致谢。