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);
最佳答案
以下工作(并且不使用任何已弃用的构造函数):
ObjectMapper mapper = new ObjectMapper();
AnnotationIntrospector introspector =
new JaxbAnnotationIntrospector(mapper.getTypeFactory());
mapper.setAnnotationIntrospector(introspector);
具体来说,这一行
new JaxbAnnotationIntrospector(mapper.getTypeFactory());
使用不推荐的构造函数.我已经测试了它并成功处理了JAXB Annotations(例如@XmlTransient,在我的例子中).