Gre*_*zak 4 java json jax-rs jersey jackson
我希望元素在序列化为 XML 时具有不同的名称(例如“ fooXml”),而对于 JSON 则具有不同的名称(例如“ fooJson”)。是否可以?
我正在使用 XML 注释,例如:
@XmlElements({
@XmlElement(type = Foo.class, name = "fooXml"),
})
private SortedSet<Foo> fooSet;
Run Code Online (Sandbox Code Playgroud)
我已经尝试过@JsonProperty,但没有任何运气。
我还尝试将其导出到 getter 方法,例如:
@XmlElement(type = Foo.class, name = "fooXml")
@JsonProperty(value = "fooJson")
public List<Foo> getFooList() {
return new ArrayList<>(fooSet);
}
Run Code Online (Sandbox Code Playgroud)
但它总是忽略 JSON 注释并序列化为 XML 形式(fooXml名称)。
我该怎么做呢?
编辑:我正在使用 Jersey-json。
好吧,我需要同样的功能,并找到了一个适用于此的解决方案:
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
@JsonProperty("MyJsonName")
@JacksonXmlProperty(localName = "MyXmlName")
private MyProperty myProperty;
Run Code Online (Sandbox Code Playgroud)
对我有用,myProperty 将位于 Json 中的“MyJsonName”字段和 XML 中的“MyXmlName”字段中。
| 归档时间: |
|
| 查看次数: |
3136 次 |
| 最近记录: |