问题标签 [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 回答
288 浏览

java - Java+Jackson+XML:将一个java对象的属性序列化为同名的XML元素

我有一个 Java 对象,我想使用Jackson库将其序列化为XML :

我想将其序列化为以下格式:

而不是我使用 Jacskon 得到的:

我不想更改Point对象属性或结构。有没有办法Point使用杰克逊注释或自定义序列化程序将对象序列化为所需的格式?如果是,那么我该怎么做?

我正在使用杰克逊库:

0 投票
0 回答
357 浏览

java - Jackson 2.8.9 @JsonPropertyOrder 在序列化 XML 时不排列由 @JsonTypeInfo 生成的字段

我正在尝试以以下格式序列化和反序列化 XML:

并尝试将其映射到以下类:

当我序列化时出现问题

xmlString 返回为具有正确字段但顺序不正确的 xml,为 @JsonPropertyOrder

的实现类类型content基于 的值<command>,它与 处于同一级别<content>,因此使用JsonTypeInfo.As.EXTERNAL_PROPERTY。由于反序列化按预期工作,我排除了 BaseContent 的其他实现类。现在我正在寻找一种方法,可以@JsonPropertyOrder有效地处理由@JsonTypeInfo. 我试图在 中添加command字段Home.class,但它会导致 xml 中出现重复的标签。

实现这一目标的正确方法是什么?还是有其他更好的方法(序列化和反序列化提到的 xml 并content根据command特定顺序的值而变化)?

提前致谢。

0 投票
1 回答
1755 浏览

java - @JacksonXmlProperty(isAttribute = true) 使用 Jackson XmlMapper 附加唯一 ID

您好我正在尝试使用 jackson-dataformat-xml 2.7.3 XmlMapper 将我的 POJO 转换为 xml。我在 POJO 类中使用 jackson 注释,如下面的代码所示,但是我在列表的每个标签中都附加了一些唯一的 ID。如何删除这些唯一 ID。

// 下面是ElementTag 类

// 下面是ProfessionalLeadDetails 类

//在 main 方法中使用 XmlMapper 转换为 xml

但是我在 val 之前添加了一些独特的 ID,例如 zdef1999262822:如下所示: OUTPUT

期望的输出:

提前致谢!

0 投票
1 回答
2290 浏览

java - Jackson XML:如何将空/空集合序列化为空节点

我正在使用 Jackson XML 2.8.9,不幸的是我找不到任何方法将空/空集合序列化为空节点。

负责序列化为 XML 的方法:

我尝试使用:

  • 序列化包含:

    /li>
  • 序列化提供者:

    /li>
  • 杰克逊 2.9.0 EMPTY_ELEMENT_AS_NULL 功能:

    /li>

不幸的是,没有任何效果。有人知道如何实现吗?

测试方法:

ReportView班级:

我准备了一个带有示例代码的存储库:https ://github.com/agabrys/bugs-reports/tree/master/jackson-xml/empty-elements-serialization


编辑:

我扩展了测试toXml方法并做了一些代码清理。

我还尝试创建一个基于Moduleand的解决方案SerializerModifier。不幸的是,两者都以失败告终。我在jackson-dataformat-xml积压中创建了一个问题:


编辑:

我有一个提示如何解决异常问题(请参阅NPE after overrideing map serializer with custom implementation (XmlBeanSerializerModifier.modifyMapSerializer)),但它仍然不能解决缺失empty/null值的问题。

0 投票
0 回答
1407 浏览

java - Jackson XML模块:当两个集合字段的项目具有相同名称时,表示属性错误的多个字段

所需的xml:

请注意,两个集合中的项目标签是相同的“路径”它们是否被不同的标签包装:“路径”“更多路径”

带注释的 bean 就像(使用 lombok):

问题: 映射时抛出异常,说有两个属性映射到同一个标签(path

例外:

如果使用不同的属性名称,一切正常:

但是,xml 输出不是必需的:

如何设法在两个集合中获取具有相同标签的项目?

注意:实际上这是一个已知问题(请参阅:https ://github.com/FasterXML/jackson-dataformat-xml/issues/192 )......但我不知道是否有解决方法

0 投票
1 回答
1337 浏览

java - 杰克逊没有正确解析时间戳

我在java.sql.Timestamp使用 Jackson 2.8.5 解析 XML 文件时遇到问题。不知何故,毫秒在左侧用零填充。

这是一个最小的示例,表明:

foo.ts = 2017-09-21 11:25:32.001

而如果我手动解析字符串,我会得到预期值

2017-09-21 11:25:32.1

0 投票
0 回答
153 浏览

java - 序列化 Jackson xml 的通用类型

我正在尝试将其序列化为 XML:

使用下一个特定的类类型:

但我得到了下一个xml:

代替:

有任何想法吗?

0 投票
0 回答
299 浏览

java - 通过注释 Swagger XML 设置属性

我想创建一个具有属性的 Swagger 模型,该属性在格式化为 XML 时应表示为属性。

这是我的 Swagger 模型课

在 Swagger UI 中,这显示为

但我希望“RequestType”改为 XML 属性:

根据我的阅读,我需要在 Swagger 规范中添加以下内容

有没有办法用 Swagger 注释做到这一点?欢迎任何建议或替代方案,并提前致谢!

0 投票
1 回答
48 浏览

java - 如何使用@JacksonXmlProperty 反序列化同一对象的不同名称的集合?

我们正在尝试将反序列化 XML 转换为 JSON。在大多数情况下,它工作正常。我们用@JacksonXmlProperty 注释了我们的POJO。但是我们有一个导致问题的新场景。问题是使用相同对象的 2 个不同集合,但名称不同。

这是一个简化的 XML 输入:

对应的 POJO 如下所示:

它无一例外地反序列化,但 Refunds 集合中的退款属性全部为空。

有没有办法在不创建退款 POJO 的情况下做到这一点?

0 投票
0 回答
844 浏览

jackson-dataformat-xml - 杰克逊为每个子根元素生成 xml 中的新行

  • 我想生成我的 xml 文件,如下所示。

    /li>
  • 我需要为每个通信元素开始一个新行。

  • 目前它正在一行中生成整个xml。可能吗?我正在使用杰克逊 2.6.7 API。