有一个简单的问题:
我有以下两个班级。
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Customer {
@XmlElement(name = "name")
private String name;
@XmlElement(name = "address")
private Address address;
}
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Address {
@XmlElement(name = "post_code")
private String postCode;
@XmlElement(name = "country")
private String country;
}
这会生成以下JSON:
{
"name" : "john",
"address" : {
"post_code" : "XYZ 123",
"country" : "US"
}
}
但我实际上想要更像这样的东西(所以它在性质上与JPA中的@Embedded相似):
{
"name" : "john",
"post_code" : "XYZ 123",
"country" : "US"
}
因此嵌入的对象字段被“拉起”。我注意到在stackoverflow上,有人提到你可以使用MOXy的@XmlPath(“。”)来做到这一点。但是,没有办法从标准的Java EE规范中做到这一点而不是MOXy特定的注释吗?
答案 0 :(得分:1)
目前还没有标准JAXB (JSR-222)注释来完成从{JAMEB 2.2开始EclipseLink JAXB (MOXy)的@XmlPath(".")
注释可以完成的工作。