我有一些可以用来返回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值?