MOXy JSON支持

我正在使用EclipseLink的MOXy作为我的RESTEasy项目中的JAXB实现.MOXy的高级功能是由@XmlDiscriminatorNode和amp;等注释带来的。价值帮助了我很多。一切正常,除了一件事:JSON支持。我正在使用RESTEasy的JettisonMappedContext但不幸的是,在编组后,我的JSON中只有实例变量字段属于抽象超类。
@XmlRootElement
@XmlDiscriminatorNode("@type")
public abstract class Entity {

    public Entity(){}

    public Entity(String id){
        this.id = id;
    }

    private String id;

    @XmlElement
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
}
子类:
@XmlRootElement
@XmlDiscriminatorValue("photo")
public class Photo extends Entity{

    private String thumbnail;

    public Photo(){}

    public Photo(String id) {
        super(id);
    }

    public void setThumbnail(String thumbnail) {
        this.thumbnail = thumbnail;
    }

    @XmlElement(name="thumbnail")
    public String getThumbnail() {
        return thumbnail;
    }
}
编组后的XML:
<object type="photo">
   <id>photoId423423</id>
   <thumbnail>http://dsadasadas.dsadas</thumbnail>
</object>
编组后的JSON:
"object":{"id":"photoId423423"}
有没有其他方法来实现这一目标? 谢谢。     
已邀请:
更新2 EclipseLink 2.4已经与MOXy的JSON绑定一起发布: http://www.eclipse.org/eclipselink/releases/2.4.php 更新1 获取EclipseLink 2.4中添加的原生MOXy对象到JSON绑定的高峰: http://blog.bdoughan.com/2011/08/json-binding-with-eclipselink-moxy.html 确保已将包含以下条目的模型类包含名为jaxb.properties文件的文件:
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
如果没有此条目,将使用引用实现,并且EclipseLink JAXB(MOXy)扩展将不会出现在生成的XML / JSON中。 使用我博客中的@DescrimatorNode示例,生成的XML将是:
<customer>
   <contactInfo classifier="address-classifier">
      <street>1 A Street</street>
   </contactInfo>
</customer>
当我编组利用Jettison时:
StringWriter strWriter = new StringWriter();
MappedNamespaceConvention con = new MappedNamespaceConvention();
AbstractXMLStreamWriter w = new MappedXMLStreamWriter(con, strWriter);
marshaller.marshal(customer, w);
System.out.println(strWriter.toString());
然后我得到以下JSON:
{"customer":{"contactInfo":{"@classifier":"address-classifier","street":"1 A Street"}}}
有关JAXB和JSON的更多信息,请参阅: http://bdoughan.blogspot.com/2011/04/jaxb-and-json-via-jettison.html     

要回复问题请先登录注册