0

我在 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;
  }

}

...但它似乎根本没有编组。没有遇到错误。

4

1 回答 1

0
  1. 我需要切换 Jersey 以使用使用 Jackson 的 POJOMappingFeature。
  2. 我需要不包含 XmlTransient,否则看起来该元素被忽略了。在某些情况下,我相信 getType 可能仍会在 XML 中被序列化,但是,我在我的实际课程中使用了 propOrder,并且因为 XmlElement 没有在 getType 上声明,所以这不是问题。对于可能出现问题的其他情况,我认为您需要使用 jsonGetType 之类的东西,以确保默认情况下不会对其进行序列化。
于 2012-12-13T23:13:01.177 回答