使用平针织时混合杰克逊核心注释和jaxb注释

时间:2012-12-13 22:15:58

标签: java json jaxb jersey jackson

我在jaxb注释类中有一个方法,我想要编组一个值,当且仅当它使用jersey 1.16编组到JSON时 - 它使用下面的jackson 1.9。我希望使用来自jaxb的@XmlTransient和来自jackson的@JsonProperty以这样的方式完成这项工作:

@XmlRootElement
public class SomeClass {  

  // Other XmlElement annotated methods

  @XmlTransient
  @JsonProperty(value="type")
  public String getType(){
      return this.type;
  }

}

......但它似乎根本就没有了。没有遇到任何错误。

1 个答案:

答案 0 :(得分:0)

  1. 我需要切换Jersey以使用POJOMappingFeature,它使用Jackson。
  2. 我不需要包含XmlTransient,否则它似乎被忽略了。在某些情况下,我相信getType可能仍然在XML中被序列化,但是,我在实际的类中使用propOrder,并且因为没有在getType上声明XmlElement,所以这不是问题。对于可能存在问题的其他情况,我认为你需要使用类似jsonGetType的东西,以确保默认情况下它没有被序列化。