XML または JSON を返すために使用できる pojo がいくつかあります。次のコードは期待どおりに機能しますが、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"}]}
JSON 出力で JsonTypeName 値を保持する方法 (XML 注釈のみを使用) はありますか?