我有这个(模仿实际生产数据)的xml,它需要按如下方式转换为JSON。(我正在使用Jackson2.8):
<testCode code="ABC" lang="java" />
为此,我拥有的POJO如下:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Phone", propOrder = {
"descriptions"
}
@XmlRootElement(name="phone")
public class Phone extends PhoneBase {
protected TestCode testCode;
getter()
setter();
}
TestCode如下:
XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "TestCode", propOrder = {
"code"
})
public class TestCode {
protected String descriptor;
@XmlAttribute(required = true)
protected String code;
@XmlAttribute
protected String lang;
}
将其转换为JSON时,我得到以下信息:
testCode: {
code: "ABC",
lang: "java"
}
我想要以下东西:
testCode: "ABC"
请注意,我忽略了任何其他属性,并且使“代码”变平。另外,不需要“自我编码”。
有人可以建议任何建议吗?我尝试了XmlElementWrapper,但是没有用。
答案 0 :(得分:0)
我可以通过在TestCode类中提供以下方法来解决该问题:
@JsonValue
public String toJson() {
return this.code;
}
将其发布可能会有所帮助。