1

有一个快速的问题:

我有以下两个课程。

@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 特定的注释吗?

4

1 回答 1

1

目前没有标准的JAXB (JSR-222)注释来完成从 JAXB 2.2 开始可以使用EclipseLink JAXB (MOXy)@XmlPath(".")注释完成的工作。

于 2013-07-03T17:38:08.467 回答