我希望我的元素在序列化为XML时具有不同的名称(例如" fooXml
"),并且JSON不同(例如& #34; fooJson
&#34)。有可能吗?
我使用的是XML注释,如:
@XmlElements({
@XmlElement(type = Foo.class, name = "fooXml"),
})
private SortedSet<Foo> fooSet;
我已经尝试了@JsonProperty
,没有任何运气。
我也尝试将其导出到getter方法,例如:
@XmlElement(type = Foo.class, name = "fooXml")
@JsonProperty(value = "fooJson")
public List<Foo> getFooList() {
return new ArrayList<>(fooSet);
}
但它总是忽略JSON注释并序列化为XML格式(fooXml
名称)。
我该怎么做?
编辑:我正在使用Jersey-json。
答案 0 :(得分:0)
好吧,我需要相同的功能,并找到适用于此的解决方案:
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
@JsonProperty("MyJsonName")
@JacksonXmlProperty(localName = "MyXmlName")
private MyProperty myProperty;
适用于我,myProperty将位于Json的'MyJsonName'字段和XML中的'MyXmlName'。