加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – 使用JACKSON的JAXB到JSON

发布时间:2020-12-15 01:44:04 所属栏目:大数据 来源:网络整理
导读:在我的应用程序中,JAXB输出生成如下: this.marshalOut(jaxb_Object,fileOutputStream); 这是对生成XML文件的spring Object XML Mapping Marshallers的方法调用.现在,我也喜欢在这一行之后生成JSON文件.任何人都有关于使用JAXB输入生成JSON输出的想法. 我在

在我的应用程序中,JAXB输出生成如下:

this.marshalOut(jaxb_Object,fileOutputStream);

这是对生成XML文件的spring Object XML Mapping Marshallers的方法调用.现在,我也喜欢在这一行之后生成JSON文件.任何人都有关于使用JAXB输入生成JSON输出的想法.

我在网上找到了这个示例代码:

ObjectMapper mapper = new ObjectMapper();
AnnotationIntrospector introspector = new JacksonAnnotationIntrospector();
// make deserializer use JAXB annotations (only)
mapper.getDeserializationConfig().setAnnotationIntrospector(introspector);
// make serializer use JAXB annotations (only)
mapper.getSerializationConfig().setAnnotationIntrospector(introspector);
mapper.writeValue( outputStream,jaxb_object);

不推荐使用setAnnotationIntrospector,有没有其他方法可以解决这个问题?

最佳答案
以下工作(并且不使用任何已弃用的构造函数):

ObjectMapper mapper = new ObjectMapper();

AnnotationIntrospector introspector =
    new JaxbAnnotationIntrospector(mapper.getTypeFactory());   

mapper.setAnnotationIntrospector(introspector);

具体来说,这一行

new JaxbAnnotationIntrospector(mapper.getTypeFactory());

使用不推荐的构造函数.我已经测试了它并成功处理了JAXB Annotations(例如@XmlTransient,在我的例子中).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读