gpt4 book ai didi

java - 序列化没有 jaxb 注释的基类

转载 作者:行者123 更新时间:2023-12-01 05:30:54 25 4
gpt4 key购买 nike

我有一个我编辑的基类,所以我无法向它添加 jaxb 注释。在派生类中,我想序列化基类的一些属性。我该如何去做呢?

最佳答案

注意:我是EclipseLink JAXB (MOXy) JAXB 2 (JSR-222) 的领导者和成员专家组。

如果您无法修改类来注释它们,那么您可能对 EclipseLink JAXB (MOXy) 中的外部映射文档扩展感兴趣。

oxm.xml

下面是与我在博客 ( JSON Binding with EclipseLink MOXy - Twitter Example ) 的示例之一中指定的元数据等效的外部映射文档。

<?xml version="1.0"?>
<xml-bindings
xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"
package-name="blog.json.twitter">
<java-types>
<java-type name="SearchResults" xml-accessor-type="FIELD">
<java-attributes>
<xml-element java-attribute="completedIn" name="completed_in"/>
</java-attributes>
</java-type>
<java-type name="Result" xml-accessor-type="FIELD">
<java-attributes>
<xml-element java-attribute="createdAt" name="created_at">
<xml-java-type-adapter value="blog.json.twitter.DateAdapter"/>
</xml-element>
<xml-element java-attribute="fromUser" name="from_user"/>
</java-attributes>
</java-type>
</java-types>
</xml-bindings>

演示

使用外部映射文档引导 JAXBContext 的代码如下所示:

Map<String, Object> properties = new HashMap<String, Object>(1);
properties.put(JAXBContextFactory.ECLIPSELINK_OXM_XML_KEY, "blog/json/twitter/oxm.xml");
JAXBContext jc = JAXBContext.newInstance(new Class[] {SearchResults.class}, properties);

了解更多信息

关于java - 序列化没有 jaxb 注释的基类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8995249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com