我有一些可用于返回 XML 或 JSON 的 pojo。以下代码按预期工作,但我想避免将杰克逊注释与 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 值?