@JsonTypeName等效于XML

时间:2013-11-14 13:24:39

标签: java xml json jaxb

我有一些可以用来返回XML或JSON的pojos。以下代码按预期工作,但我想避免将jackson注释与xml注释混合/匹配。

@XmlRootElement(name="MySpecificName")
@XmlAccessorType(XmlAccessType.FIELD)
@JsonTypeInfo(use=JsonTypeInfo.Id.NAME, include=JsonTypeInfo.As.WRAPPER_OBJECT)
@JsonTypeName("MySpecificName")
public class Bar{
 @XmlElement
 @JsonProperty
 private String name;
}

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class BarWrapper{
 @XmlElement
 @JsonProperty
 private Collection<Bar> bars;
}

运行上面的代码时,我得到以下JSON:

{"bars":["MySpecificName":{"name":"blah"}]}

如果我注释掉杰克逊注释,我会得到错误的结果:

{"bars":[{"name":"blah"}]}

是否有办法(仅使用XML注释)在JSON输出中保留JsonTypeName值?

0 个答案:

没有答案