问题标签 [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 投票
2 回答
2037 浏览

java - Jackson xml将属性值映射到属性

我正在与旧系统集成,并且需要将以下 xml 解析到我的对象中。我正在尝试用杰克逊来做到这一点,但我无法让映射工作。任何人都知道如何将以下xml映射到pojo?

xml 示例:

我试过添加

到属性,但这当然不起作用,我看不到另一种方法可以使它起作用。有任何想法吗?

我像这样使用映射器......

我正在使用以下依赖项

0 投票
0 回答
149 浏览

jackson - FasterXML Jackson 可以映射混合列表子元素吗

使用 FasterXML Jackson 的对象映射器功能,我想解析这个 XML 片段:

使用以下 Scala 代码:

我可以看到结果中缺少 B 类。如果我更改顺序并setting在类别之后移动,它会按预期工作。

因此,如果子列表混合在一起,它似乎会跳过元素。我可以在 Mapper 上设置一个属性来解决这个问题吗?

0 投票
2 回答
1551 浏览

spring-boot - swagger-ui 不适用于自定义 XML ObjectMapper

我正在开发一个应该启用 swagger-ui 的 Spring Boot 应用程序。访问http://localhost:8080/swagger-ui.html时弹出错误:“Unable to infer base url ...”

另外,http://localhost:8080/v2/api-docs显示:第 1 行第 1 列的错误:文档为空 此页面的源代码是 json,但请求为 Content-Type application/xhtml+ xml;charset=UTF-8

造成这种情况的原因似乎是我的自定义杰克逊配置:

具有以下依赖项:

问题也在这里描述:https ://github.com/springfox/springfox/issues/1835

所以我的问题是:如何指定杰克逊消息转换器的优先级以使 swagger-ui 工作?

0 投票
1 回答
55 浏览

java - 在杰克逊的财产中添加财产

我有一个特定的 Geojson 结构(功能)存储为字符串,请参见下面的示例:

我想对该geojson进行附加并进行一些修改。所以我首先使用以下方法将此结构映射到 Jackson ObjectNode:

然后我想在属性中附加一些元素来添加一些新属性。我知道如何在不指定父级的情况下正常添加属性,我使用 bufferFeature.put("prop1","value");

所以我的问题是:如何在特定属性中添加新属性?

0 投票
1 回答
42 浏览

xml - 序列化 XML 嵌套在自动生成的 Java 类中

给定一个.xsd文件,我的策略是使用 Maven 工具从中生成 Java 类,然后使用 Jackson 序列化数据。

我在用着:

  • org.jvnet.jaxb2.maven2:maven-jaxb2-plugin:0.13.3生成 Java 类
  • com.fasterxml.jackson.dataformat.xml.XmlMapper(2.9.2) 用new JaxbAnnotationModule()序列化

生成代码示例:

使用示例:

我们得到:

我们的预期:

换句话说,XML 是嵌套的。

这是应该控制的东西:

  • 在使用点的代码中?
  • 在杰克逊序列化程序的配置中?
  • 在通过配置或生成标志生成代码?
  • 在代码生成中通过.xsd更改?
0 投票
1 回答
37 浏览

java - 将包含列表的 XML 反序列化为 POJO

我的 XML 看起来像这样:

我的资产 POJO 如下所示:

和 TOV 类看起来像这样:

现在,我运行代码并获得一个空指针。当我调试代码时,我看到资产对象已创建并且 ID 字段已从 XML 中提取。但是,TOV 对象等于 null。我是否需要某种标签来告诉杰克逊 TOV java 对象映射到 XML 对象?另外,在 java List 中有 credit 和 castCrew 会起作用吗?

0 投票
0 回答
177 浏览

java - Jackson XML:序列化重复

我有一堂课

我应该如何配置com.fasterxml.jackson.dataformat.xml.XmlMapper来生成这样的 xml(不希望 POJO 上的注释,但更喜欢从重复类型生成重复标签名称,例如 Item )?

0 投票
1 回答
484 浏览

java - 动态防止某些字段被 Jackson 的 PropertyFilter 序列化

我需要能够防止对象的某些字段被序列化,主要是基于它们的类型。例如,考虑以下对象:

如果布尔字段为假,我希望能够在序列化时不序列化布尔字段。或者如果它为零,则不序列化 int。基本上,不要根据其类型或特定值的任何属性序列化任何特定字段。

我知道 JsonSerializers,我曾经用它来部分解决我的问题,但不可能选择不序列化 JsonSerializer 中的字段

我最接近的是实现我自己的 PropertyFilter,并通过以下方式将其应用于我的对象@JsonFilter

这正是我想要的,除了它具有破坏包装的令人讨厌的副作用(例如序列化列表)。根据@JsonFilter文档,将过滤器应用于字段而不是整个类是有效的,这会很棒,但我已经尝试过了,但似乎无法让它工作。

0 投票
2 回答
502 浏览

java - 杰克逊的自动增量属性

我有一个现有的对象 - 我无法修改 - 我们希望在序列化期间添加一个自定义 ID 属性。

理想情况下,我们希望能够将其转换为 XML,并为每个Address对象关联一个 ID。

我目前正在查看一个自定义 mixin 类,但不知道是否有更好的选择。

关于如何更好地解决这个问题的任何想法?

================================================

编辑:目前,我们正在基于 TestEntity 进行序列化,因此我无法创建包装实体。

0 投票
0 回答
171 浏览

java - 如何使用jackson将嵌套的java对象序列化为xml属性?

这是StackOverflow 上这个问题的一个变体,但是我的 json 看起来像

并且想要看起来像的 XML

但是现在我有一些看起来像

我有一个PointMeta基本上是属性包装器的类,有没有办法告诉杰克逊我希望它将整个类视为顶级Point类中的属性集合?

我也在使用 Lombok 来避免样板,getter 和 setter 不是问题。

我试过类似的东西

但是,Jackson 忽略了 Point 中的第一个注释,class没有警告或错误。我想告诉杰克逊这个字段应该是这个类的XML属性。