5
爲了簡單起見這裏是一個簡單的類:衝突的getter定義2.2.3
class GetterMethodsObject {
int id = 10;
public int getId() {
return id;
}
// @JsonIgnore
public boolean isId() {
return true;
}
}
序列化這個對象應該給:
{"id":10}
,因爲是公共的getter方法。用例:
mapper=new ObjectMapper();
mapper.writeValueAsString(object);
但我得到異常:
com.fasterxml.jackson.databind.JsonMappingException:
Conflicting getter definitions for property "id": org.citi.facility.GetterMethodsObject#isId(0 params) vs org.citi.facility.GetterMethodsObject#getId(0 params)
由於id
是Integer
所以,我期待Jackson
調用getId()
方法,但不isId()
。 isId()
僅當id是布爾值時才應該調用方法?即使我把@JsonIgnore
它沒有幫助。我無法改變實際的物體。如何解決這個問題?