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

spring-boot - 与 restTemplate getforObject() 一起使用时,jackson-data-format 不会转换

这个问题与[ Rest template getForObject() mapping only camel case fields有关

拥有一个返回以下 xml 响应的休息 Web 服务。

这是dto

使用 Spring Boot,当我尝试使用代码时,它只返回一个值(在骆驼情况下)。我是否需要添加任何命名策略才能使其正常工作?

//这里的对象将只包含一个值

ttId = 1408

其余值返回 null。

这是pom文件

当我从中删除以下条目时,它起作用了。

但要将 RequestBody 与 XML 数据映射,则需要此依赖关系。

我该如何解决这个问题,rest 模板使用的是哪个转换器?我可以强制休息模板使用特定的转换器吗??

0 投票
0 回答
7067 浏览

java - 无法初始化类 com.fasterxml.jackson.databind.ObjectMapper

我有一个 Spring Boot 应用程序,并有以下代码可以从配置文件中读取:

为此,我在 build.gradle 中使用以下依赖项

我在用

springBootVersion = '1.5.10.RELEASE'

在启动 spring boot 应用程序时,我收到以下错误:

我已经尝试将 jackson-databind 和 jackson-dataformat-yaml 的版本更改为 2.9.0,甚至尝试删除它自己的版本。但是我仍然遇到同样的问题。是由于弹簧靴和杰克逊的兼容性问题还是我遗漏了其他东西?

0 投票
0 回答
219 浏览

java - Spring-MVC:损坏的管道导致线程锁

我们使用带有 Spring 4.2.5 和 Spring-MVC 的 tomcat 7。我们有几个 REST 接口,我们的一些客户也可以调用这些接口。最近我们包含了jackson XML(来自fasterxml),所以XML 接口可以用jackson 而不是JAXB 来处理。从那时起,tomcat 重新启动后,CPU 负载随着时间的推移越来越多,导致几个小时后 CPU 负载达到 100%。

我们能够查明原因是我们的一位客户经常调用的一个特定 REST XML POST 接口。我们还能够观察到此类请求因 HTTP 499 ClientClosedRequest 错误而失败。这 499 个的数量与我们通过 kill -3 检索到的锁定线程的数量一致。

这些锁定线程的堆栈跟踪如下所示:

我们无法用我们自己的要求重现这一点。我们甚至试图通过提前中止我们的请求来引发 499 错误,但无济于事。即使我们要重现这个——我们怎么能真正解决这个问题,因为 Spring 和 Jackson 正在做所有的工作。

不幸的是,回到 JAXB 是不可能的,因为我们的一些新功能依赖于 jackson。

0 投票
1 回答
1190 浏览

java - Swagger 2.8.0 无法生成 api-docs

当我调用 swagger/v2/api-docs端点时,我无法在我的 Spring Boot 应用程序中获得有效的 json。

铬错误信息:

此页面包含以下错误: 第 1 行第 1330 列的错误:xmlParseEntityRef: no name 下面是页面的呈现直到第一个错误。

使用开发人员工具,我看到 swagger.json 包装在 xml 标记中,内容类型也设置为 application/xhtml+xml。响应如下所示:

<Json>{"swagger":"2.0",..............</Json>

我正在使用Spring Boot 2.0.0.RELEASESpring 5.0.4.RELEASE并为 XML 映射jackson-dataformat-xml依赖版本2.9.4

有没有一种方法可以application/json作为内容类型发送或配置杰克逊依赖项,弹簧将其加载为类路径中的第一个?或者有没有其他方法可以解决?

对于杰克逊,我们只使用了导入,没有单独的配置。

招摇配置:

0 投票
0 回答
466 浏览

java - Jackson XmlMapper:将真/假反序列化为布尔值

我想使用 Jackson 库将 xml 结构转换为 json

输入xml:

输出 json 应该是:

但不是"disabled": true (boolean) 我得到"disabled": "true" (string)

我需要添加一些配置还是不能开箱即用?

我正在使用这个映射器配置:

PS:不涉及 POJO(我想保持这种状态)

提前谢谢

问候

0 投票
1 回答
650 浏览

java - Jackson XmlMapper:自定义反序列化器 XML 子节点结构为字符串

我想在 JAVA 中将 XML 子树反序列化为字符串(使用 Jackson):

输入结构:

变成这样的东西:

节点nodeS应被视为“原始值”,无需对 xml 进行任何修改,并将其放入 String 类成员中。我已经用自定义反序列化器或@JacksonRawValue 尝试过,但无济于事。

如果一个人可以访问“currentNode”的原始值,那将有很大帮助。

欢迎任何替代(杰克逊相关)解决方案:-)

0 投票
4 回答
6551 浏览

java - 使用 Jackson 解析 XML 时如何忽略特定节点

我想知道在使用 Jackson ML 模块解析 XML 时是否可以忽略一个或多个节点。

我希望能够解析这个 XML

进入这个 POJO 对象

现在它不起作用,因为我认为注释 @JacksonXmlElementWrapper 仅适用于列表。

它还给了我以下错误消息:

java.lang.IllegalArgumentException:属性“值”的设置器定义冲突

0 投票
1 回答
703 浏览

java - Jackson XML:如何使用带有多个包装类的 JacksonXmlElementWrapper 反序列化 XML

我有一个需要反序列化的 XML 字符串

这就是我正在尝试的,但我没有确切的解决方案来添加上面的两个包装器和

如何使用 JacksonXML Annotation 将其反序列化为 Java POJO 类?

0 投票
0 回答
50 浏览

kotlin - 在不修改 POJO 的情况下向 XML 添加属性

我需要为 XML 提供共享机密属性,所以我决定添加它而不将它暴露给我的 API。

这是示例 POJO,在序列化程序之后它看起来像

我需要为其添加属性,例如

我查看了 Jackson API,看起来我需要为 root 创建自定义序列化程序,所以

还有我什么都不做的自定义序列化程序

因此,它所做的只是抛出未实现的异常,但是即使 SessionFieldSerializer() 被实例化(我看到“Registering custom serializer”消息),也不会调用序列化函数。

测试代码:

我错过了什么吗?

0 投票
3 回答
5923 浏览

java - Jackson Xml:如何仅在根目录上添加命名空间?

如果我在根元素上声明命名空间,如下所示:

它产生:

但我只想要根元素上的命名空间。xmlns 属性不应出现在子元素上。

我该如何存档?