0

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 注釈のみを使用) はありますか?

4

0 に答える 0