问题标签 [jackson-dataformat-xml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2133 浏览

java - Jackson XML to Pojo - 没有包装器的数组

我有一个具有相同属性的标签列表,但没有包装元素来使其成为数组列表。我如何在 Java Spring-boot 应用程序中将其作为数组列表保存?

0 投票
1 回答
416 浏览

xml - 强制 JacksonXML 将原始 XML 反序列化为字符串

我将 XML 请求字符串作为文本内容传入,但 Jackson 将其标识为 XML 标记。我尝试使用 JacksonXMLText 但这没有帮助。

它让我异常

0 投票
1 回答
316 浏览

java - 杰克逊:解析 xml 忽略行分隔符

我有一个 xml,其中包含项目列表中的一些文本块。这些项目包含一些格式化的文本。它在新行之前使用换行符和空格进行格式化(我的 IDE 的标准格式)。例如:

我使用以下代码阅读了 XML:

问题:这样的解析保留了content元素内部的线闸和间距。

问题:如何解析 XML 忽略content元素中的间距和换行符?

0 投票
1 回答
173 浏览

java - 将子 XML 元素反序列化为 XML 字符串

使用 Jackson 或 JAXB,有没有办法将子 XML 元素的整个子树反序列化/编组为字符串?

例如,给定以下 XML:

有没有办法将其反序列化/编组到以下类

结果会是什么样子Root(foo="<bar><baz/></bar>")

0 投票
0 回答
122 浏览

java - 如何使用jackson处理XML序列化中的继承类层次结构?

我使用 Java 中的继承创建了一个简单的结构,如下所示

然后我有一个类 DemoContainer 它有 DemoParent 的集合

现在,当我尝试使用杰克逊将 D 序列化为 xml 时,我得到了

但我想有点像

谁能帮我解决这个问题?

0 投票
1 回答
1148 浏览

java - Jackson - 展开嵌套属性

我有一个这样的xml

现在我知道 @JsonUnwrapped 注释可以帮助一个级别(它在所有示例中都显示)。但是当我尝试反序列化一个捕获外层属性的 BottomLevel 对象时,我只会得到所有内容的空值。

谁能帮我展平这个xml?我试图概括这个问题。理想情况下,最终结果将是 List

我的 pojo 有字段 data1 data2 attr1 attr2

0 投票
2 回答
206 浏览

java - Jackson XML 将 XML 从 2 级反序列化为 POJO

希望这不是一个菜鸟问题。我正在尝试从 XML 的第二级将 XML 反序列化为 POJO,但是在搜索并尝试了许多与此类似的其他问题的答案之后,我仍在努力寻找适合该级别的东西。

XML(已提供但我无法更改)与此类似

我只需要将 CInc(永远只有一个)反序列化到我的 POJO 中,它看起来类似于

我正在扩展一个抽象的顶级类,如下

我的 Java 代码看起来类似于

由于缺少 FMan 元素,此操作失败。

从另一个答案中,我尝试像这样禁用 FAIL_ON_UNKNOWN_PROPERTIES

这消除了失败,但 POJO 中的所有值都是空的。

我还尝试为扩展“InputRequest”的“FMan”元素放置另一个抽象类,然后将 CInc 更改为扩展 FMan,即

但这根本没有帮助。我觉得答案是我想念的愚蠢的东西,但我真的很难得到答案,所以任何帮助将不胜感激。

0 投票
2 回答
5812 浏览

xml - 如何使用 Jackson XmlMapper 控制编码?

我找不到将序列化 XML 的编码从默认值更改UTF-8ISO-8859-1. 我阅读了使用指南,这让我认为必须有一种方法使用XMLOutputFactorywithXmlFactory来实现这一点,但我看不到一种方法可以将这些工厂中的任何一个配置为默认使用另一种编码,只有createXMLEventWriter我可以传入的地方一种编码。

我知道如何使用ToXmlGenerator.Feature.WRITE_XML_DECLARATION. 所以我需要的是这样的声明:

当然,内容也应该用ISO-8859-1.

0 投票
1 回答
196 浏览

java - 杰克逊没有正确反序列化重音字符

我正在使用 jackson 使用以下代码序列化 XML 文件中的客户实体:

这可以完美运行,并为每个客户创建一个包含所有数据的 XML 文件。问题是该数据是法语的,因此包含重音字符,例如 é。这是我用来反序列化所述客户的代码:

它完美地工作,除了 é 字符在反序列化时转换为 É(它们被序列化 OK 并且生成的 XML 文件显示正确的字符)。我知道这与字符编码(UTF8 与 ISO-8859-2)有关,但我不知道如何将其连接到 Jackson 反序列化机制中。

任何帮助,将不胜感激!

谢谢

0 投票
1 回答
1083 浏览

spring - swagger codegen 将 @JacksonXmlElementWrapper(useWrapping = false) 注释添加到单个字段

我目前正在使用 yml 使用 swagger codegen 来生成我的模型但是我有一个字段,List<Object>即需要具有@JacksonXmlElementWrapper(useWrapping = false). 我可以看到@JacksonXmlElementWrapperinPOJO.mustache但不是 in model.mustache。有谁知道要在 yaml 文件或其他任何地方添加什么,以便使用该注释生成该字段?谢谢。我正在使用带有 gradle 的 spring-java 语言。我需要在构建期间生成它。所以最小的变化是首选。