杰克逊冲突的财产和吸气剂定义

时间:2015-05-08 12:16:31

标签: java json serialization jackson

我延伸到第三方课程,我无法改变:

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)])

是否有一种简单的方法可以强制序列化程序生成我的内容'属性?

1 个答案:

答案 0 :(得分:1)

我猜这个问题在Jackson 2.4.0中得到了解决。请检查https://github.com/FasterXML/jackson-databind/issues/193

尝试将杰克逊图书馆更新为2.4.0或更高版本。