이 JSON이 있다고
{
"propertA" : "test"
}
이 클래스를 사용하여 객체로 역 직렬화됩니다.
public static class MyClass
{
private String propertya;
@JsonGetter( "propertya" )
public String getPropertya() { return this.propertya; }
@JsonSetter( "propertyA" )
public void setPropertya( String a ){ this.propertya = a };
}
@JsonGetter를 사용하여 해당 개체 인스턴스를 다음과 같이 직렬화 할 수있었습니다.
{
"properta" : "test"
}
그러나 그렇지 않았습니다. 나는 여전히 다음을 얻습니다.
{
"propertA" : "test"
}
내가 무엇을 잘못하고 있지? @JsonGetter가 내 클래스 인스턴스 속성 "propertya"를 "propertya"로 직렬화 할 것으로 예상했지만 직렬화 할 때 @JsonSetter가 제어권을 인수 한 것 같습니다. @JsonGetter는 정확히 무엇을합니까? 내 개체가 직렬화되는 방식에 영향을 미치지 않는 것 같습니다.
버전 2.4.0으로 업데이트했고 작동했습니다. 그러나 나는 @JsonIgnore를 필드에 추가해야 할 것입니다.
2.4.0에서는 다음 코드가 작동합니다.
public static class MyClass
{
@JsonIgnore
private String propertya;
@JsonGetter( "propertya" )
public String getPropertya() { return this.propertya; }
@JsonSetter( "propertyA" )
public void setPropertya( String a ){ this.propertya = a };
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다