JsonIgnore& XmlElement注释冲突

时间:2015-08-18 14:02:07

标签: java json xml jaxb jackson

我遇到了将JAXB和Jackson注释结合在一起的问题:

public class Document {

    String someField;

    @JsonIgnore
    @XmlElementWrapper(name = "someWrapper")
    @XmlElement(name = "someElement")   
    List<String> someCollection;
}

我需要能够对场地进行编组和解组,以及一些收集&#39;到xml,但有机会序列化&#39; Document&#39;没有这样的字段的json对象。

但是这个字段出现在最终的json字符串

2 个答案:

答案 0 :(得分:0)

所以,如果我理解正确 - 杰克逊同时看到了JsSON和XML注释。因此,我无法强制序列化某些内容,也不能在同一时刻进行序列化。

我认为这是不可能的

答案 1 :(得分:0)

当我尝试使用Jackson将JSON转换为对象时,我遇到了同样的问题。 对象类的字段(即someField)具有注释@XmlTransient。如果在JSON中设置了此字段,我需要进行转换,那么我会收到错误消息:

  

无法识别的字段“ someField”,未标记为可忽略

有没有办法解决它。最好在全局位置配置它,因为我有很多类,然后需要应用此修复程序。