我正在扩展以下我无法更改的第三方类:
public class Page {
@JsonProperty("content")
private String content;
public String getContent() {};
}
我的 Page 实现如下所示:
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 中已经解决了。请查看https://github.com/FasterXML/jackson-databind/issues/193 .
尝试将您的 Jackson 库更新到 2.4.0 或更高版本。
关于java - jackson 冲突的属性(property)和 setter/getter 定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30123656/