Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用jersey时混合使用jackson核心注释和jaxb注释_Java_Json_Jaxb_Jersey_Jackson - Fatal编程技术网

Java 使用jersey时混合使用jackson核心注释和jaxb注释

Java 使用jersey时混合使用jackson核心注释和jaxb注释,java,json,jaxb,jersey,jackson,Java,Json,Jaxb,Jersey,Jackson,我在一个jaxb注释类中有一个方法,当且仅当它使用jersey 1.16(在下面使用jackson 1.9)封送到JSON时,我想封送一个值。我希望使用jaxb的@XmlTransient和jackson的@JsonProperty以如下方式完成此任务: @XmlRootElement public class SomeClass { // Other XmlElement annotated methods @XmlTransient @JsonProperty(value

我在一个jaxb注释类中有一个方法,当且仅当它使用jersey 1.16(在下面使用jackson 1.9)封送到JSON时,我想封送一个值。我希望使用jaxb的@XmlTransient和jackson的@JsonProperty以如下方式完成此任务:

@XmlRootElement
public class SomeClass {  

  // Other XmlElement annotated methods

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

}
。。。但马歇尔一点也不觉得。没有遇到任何错误

  • 我需要切换运动衫以使用PojoMapping功能,它使用Jackson
  • 我不需要包含XmlTransient,否则看起来元素被忽略了。在某些情况下,我相信getType可能仍然在XML中序列化,但是,我在实际的类中使用了Propoder,因为在getType上没有声明XmlElement,所以这不是问题。对于可能出现问题的其他情况,我认为您需要使用类似于jsonGetType的东西,以确保它在默认情况下不会序列化

  • 你能给出“不马歇尔”的代码吗?我解决了这个问题。问题是我使用的是自然JSON处理器,它似乎忽略了JsonProperty注释,我相信这是真的,因为我相信Jersey在使用自然JSON处理器时会转换为XML,然后再转换为JSON。编组代码实际上是隐藏的,因为它是由Jersey资源编组的。