Java JAXB支持内联元素吗?

Java JAXB支持内联元素吗?,java,jaxb,jackson,Java,Jaxb,Jackson,我注意到Jackson有一个内联/展开元素的挂起特性,请参见此处: 这个想法是,您可以有两个类: class A { String y; String z; } class B { String x; A a; } 您希望生成类似JSON的内容: { "x":"...", "y":"...", "z":"..." } 问题是,JAXB是否支持一些类似的特性(或者它在将来的任何时候都会支持)?我相信普通继承可以做到这一点,但由于java不

我注意到Jackson有一个内联/展开元素的挂起特性,请参见此处:

这个想法是,您可以有两个类:

class A {
    String y;
    String z;
}
class B {
    String x;
    A a;
}
您希望生成类似JSON的内容:

{
    "x":"...",
    "y":"...",
    "z":"..."
}

问题是,JAXB是否支持一些类似的特性(或者它在将来的任何时候都会支持)?我相信普通继承可以做到这一点,但由于java不支持多重继承,这并不总是可行的(更不用说这种关系可能更像是has-a而不是is-a)。

注意:我是领导,也是JAXB 2()专家组的成员

MOXy目前在其XML绑定中支持此概念,并将通过
@XmlPath
扩展在其JSON绑定中支持此概念(见下文):

增强请求

了解更多信息


JAXB是一个规范(JSR-222),我是专家组的成员。许多人都熟悉JavaSE6中包含的参考实现,但还有其他人,包括EclipseLink MOXy和ApacheJAXME。MOXy还包含诸如基于XPath的映射之类的扩展。我的博客()如果您感兴趣,包含JAXB和MOXy示例。好的,为了获得所需的功能,我必须交换标准JAXB实现,然后使用扩展功能……嗯……有没有关于标准化此功能或类似功能的讨论?@Kevin-要获得所需的功能,您需要将MOXy指定为您的JAXB实现()。MOXy也是一个标准的JAXB实现,因为它通过了与参考实现完全相同的认证测试。
@XmlPath
扩展是我建议在JAXB规范的未来版本中包含的内容。
package forum7352753;

import org.eclipse.persistence.oxm.annotations.XmlPath;

class B {
    String x;
    A a;

    public String getX() {
        return x;
    }

    public void setX(String x) {
        this.x = x;
    }

    @XmlPath(".")
    public A getA() {
        return a;
    }

    public void setA(A a) {
        this.a = a;
    }

}