Java Jackson属性和getter定义冲突
我正在扩展以下我无法更改的第三方类:Java Jackson属性和getter定义冲突,java,json,serialization,jackson,Java,Json,Serialization,Jackson,我正在扩展以下我无法更改的第三方类: public class Page { @JsonProperty("content") private String content; public String getContent() {}; } 我的页面实现如下所示: public class MyPage extends Page { @JsonProperty("my-content") public String getContent() {retu
public class Page {
@JsonProperty("content")
private String content;
public String getContent() {};
}
我的页面实现如下所示:
public class MyPage extends Page {
@JsonProperty("my-content")
public String getContent() {return super.getContent()};
}
当我尝试序列化MyPage类的实例时,出现以下异常:
java.lang.IllegalStateException: Conflicting property name definitions:
'content' (for [field com.test.Page#content])
vs
'my-content' (for [method com.test.MyPage#getContent(0 params)])
有没有一种简单的方法可以强制序列化程序生成“我的内容”属性?我想Jackson 2.4.0解决了这个问题。请查收
尝试将您的Jackson库更新到2.4.0或更高版本。我无法使用我正在使用的Jackson版本进行复制,您可以添加您的吗?为了尝试复制,Jackson 1.9.13的行为与预期一致,Jackson 2.5.2打印
{“我的内容”:“blah”,“content”:null}