问题标签 [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.
java - Jackson xml将属性值映射到属性
我正在与旧系统集成,并且需要将以下 xml 解析到我的对象中。我正在尝试用杰克逊来做到这一点,但我无法让映射工作。任何人都知道如何将以下xml映射到pojo?
xml 示例:
我试过添加
到属性,但这当然不起作用,我看不到另一种方法可以使它起作用。有任何想法吗?
我像这样使用映射器......
我正在使用以下依赖项
jackson - FasterXML Jackson 可以映射混合列表子元素吗
使用 FasterXML Jackson 的对象映射器功能,我想解析这个 XML 片段:
使用以下 Scala 代码:
我可以看到结果中缺少 B 类。如果我更改顺序并setting
在类别之后移动,它会按预期工作。
因此,如果子列表混合在一起,它似乎会跳过元素。我可以在 Mapper 上设置一个属性来解决这个问题吗?
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 工作?
java - 在杰克逊的财产中添加财产
我有一个特定的 Geojson 结构(功能)存储为字符串,请参见下面的示例:
我想对该geojson进行附加并进行一些修改。所以我首先使用以下方法将此结构映射到 Jackson ObjectNode:
然后我想在属性中附加一些元素来添加一些新属性。我知道如何在不指定父级的情况下正常添加属性,我使用 bufferFeature.put("prop1","value");
所以我的问题是:如何在特定属性中添加新属性?
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
更改?
java - 将包含列表的 XML 反序列化为 POJO
我的 XML 看起来像这样:
我的资产 POJO 如下所示:
和 TOV 类看起来像这样:
现在,我运行代码并获得一个空指针。当我调试代码时,我看到资产对象已创建并且 ID 字段已从 XML 中提取。但是,TOV 对象等于 null。我是否需要某种标签来告诉杰克逊 TOV java 对象映射到 XML 对象?另外,在 java List 中有 credit 和 castCrew 会起作用吗?
java - Jackson XML:序列化重复
我有一堂课
我应该如何配置com.fasterxml.jackson.dataformat.xml.XmlMapper来生成这样的 xml(不希望 POJO 上的注释,但更喜欢从重复类型生成重复标签名称,例如 Item )?
java - 动态防止某些字段被 Jackson 的 PropertyFilter 序列化
我需要能够防止对象的某些字段被序列化,主要是基于它们的类型。例如,考虑以下对象:
如果布尔字段为假,我希望能够在序列化时不序列化布尔字段。或者如果它为零,则不序列化 int。基本上,不要根据其类型或特定值的任何属性序列化任何特定字段。
我知道 JsonSerializers,我曾经用它来部分解决我的问题,但不可能选择不序列化 JsonSerializer 中的字段。
我最接近的是实现我自己的 PropertyFilter,并通过以下方式将其应用于我的对象@JsonFilter
:
这正是我想要的,除了它具有破坏包装的令人讨厌的副作用(例如序列化列表)。根据@JsonFilter
文档,将过滤器应用于字段而不是整个类是有效的,这会很棒,但我已经尝试过了,但似乎无法让它工作。
java - 杰克逊的自动增量属性
我有一个现有的对象 - 我无法修改 - 我们希望在序列化期间添加一个自定义 ID 属性。
理想情况下,我们希望能够将其转换为 XML,并为每个Address
对象关联一个 ID。
我目前正在查看一个自定义 mixin 类,但不知道是否有更好的选择。
关于如何更好地解决这个问题的任何想法?
================================================
编辑:目前,我们正在基于 TestEntity 进行序列化,因此我无法创建包装实体。
java - 如何使用jackson将嵌套的java对象序列化为xml属性?
这是StackOverflow 上这个问题的一个变体,但是我的 json 看起来像
并且想要看起来像的 XML
但是现在我有一些看起来像
我有一个PointMeta
基本上是属性包装器的类,有没有办法告诉杰克逊我希望它将整个类视为顶级Point
类中的属性集合?
我也在使用 Lombok 来避免样板,getter 和 setter 不是问题。
我试过类似的东西
但是,Jackson 忽略了 Point 中的第一个注释,class
没有警告或错误。我想告诉杰克逊这个字段应该是这个类的XML属性。