-3
我有一個類,我們說Person
,我想使用Jackson填充JSON,但屬性名稱因源而異。這裏的代碼看起來目前:具有不同JSON屬性名稱的繼承模型
class Person {
protected String firstName;
protected String lastName;
protected String address;
public abstract void setFirstName(String firstName);
public abstract void setLastName(String lastName);
public abstract void setAddress(String address);
// getters etc.
}
class PersonFormat1 extends Person {
@Override
@JsonProperty("firstName")
public void setFirstName(String firstName) {
this.firstName = firstName;
}
@Override
@JsonProperty("lastName")
public void setLastName(String lastName) {
this.lastName = lastName;
}
@Override("address")
public void setAddress(String address) {
this.address = address;
}
}
class PersonFormat2 extends Person {
@Override
@JsonProperty("fName")
public void setFirstName(String firstName) {
this.firstName = firstName;
}
@Override
@JsonProperty("lName")
public void setLastName(String lastName) {
this.lastName = lastName;
}
@Override("addr")
public void setAddress(String address) {
this.address = address;
}
}
正如你所看到的,PersonFormat1
和PersonFormat2
的結構相同,但我以指定不同的屬性名稱需要不同的子類。
有沒有一種方法來強制模型沒有重新聲明和重新實現每種方法的樣板?