我有一個名為 AddOnsSRO 的對象。僅在序列化時,我希望更改對象的字段名稱。嘗試在 getter 方法上使用@JsonProperty,但即使在不涉及序列化的用法中,它也給了我一個重命名的字段。public class AddOnsSRO { private String sideCar; private String sideCarCoverage; @JsonSerialize @JsonProperty("abc") public String getSideCar() { return sideCar; } public void setSideCar(String sideCar) { this.sideCar = sideCar; } @JsonSerialize @JsonProperty("xyz") public String getSideCarCoverage() { return sideCarCoverage; } public void setSideCarCoverage(String sideCarCoverage) { this.sideCarCoverage = sideCarCoverage; }}僅在序列化時,以下字段 :sideCar和sideCarCoverage必須分別重命名為abc和xyz。對于除序列化之外的任何其他用途,字段名稱應該是sideCar且sideCarCoverage僅。請幫助并建議相應的更改或注釋。
2 回答

MMTTMM
TA貢獻1869條經驗 獲得超4個贊
為了只影響序列化,請使用@JsonGetter而不是@JsonProperty
@JsonGetter("abc")
public String getSideCar() {
return sideCar;
}
Getter 是指在序列化具有該方法的類的 Object 實例時(可能繼承自超類),通過該方法進行調用,并將返回值序列化為屬性值。
您可以添加@JsonSetter到 setter 方法進行反序列化:
@JsonSetter("sideCar")
public void setSideCar(String sideCar) {
this.sideCar = sideCar;
}
添加回答
舉報
0/150
提交
取消