JAXB是否支持内联元素?

时间:2011-09-08 18:27:35

标签: java jaxb jackson

我注意到Jackson有一个内联/未包含元素的待处理功能,请参见此处:http://wiki.fasterxml.com/JacksonRelease19

这个想法是你可能有两个班级:

class A {
    String y;
    String z;
}
class B {
    String x;
    A a;
}

你想要生成JSON,如:

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

问题是,JAXB是否支持某些类似的功能(或者预计将来的任何时候)?我相信正常继承可以做到这一点,但由于java不支持多重继承,这并不总是可行的(更不用说这种关系可能更像是a-a而不是is-a)。

1 个答案:

答案 0 :(得分:2)

注意:我是 EclipseLink JAXB (MOXy) 负责人,也是JAXB 2(JSR-222)专家组的成员。

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

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;
    }

}

增强请求

了解更多信息