问题标签 [jackson-modules]

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 回答
755 浏览

java - 在 Jackson Custom Deserializer 中阅读跳过的孩子

我有一个特定类的反序列化器,它在读取字段时需要一些排序。假设我的班级 (field1field2) 中有两个字段,为了阅读field2,它首先需要field1.

例如,对于以下 json 数据,它可以工作,因为当反序列化器解析时field2field1已经设置了:

但是,如果我们反转字段:

我需要跳过field2jp.skipChildren因为field1没有设置。当field1被解析时,杰克逊应该重新读取和解析field2.

一种选择是解析 field2 而不是跳过并将其保存在一个变量中,以便在设置 field1 时,它可以使用在 field2 中保存数据的变量。然而; 基于 的值field1,我可能不需要解析field2,因此我正在寻找更好的解决方案,因为性能在这部分代码中至关重要。

我正在使用Mapper.readValue(byte[], MyClass.class)方法,似乎杰克逊ReaderBasedJsonParser用于解析。即使可以获得令牌位置,我也找不到设置令牌位置的方法。

0 投票
1 回答
109 浏览

android - 将 Jackson 的不一致响应通用解析为字符串或自定义对象

我从单个 RESTful Web 服务的两个不同场景中得到两种不同类型的响应 json,如何使用 Jackson 解析以下响应 json?

0 投票
1 回答
672 浏览

java - JodaTime日期的序列化和反序列化为json

根据此处找到的文档https://github.com/FasterXML/jackson-datatype-joda

下面的代码片段应该通过

但是,这反而返回:

这是我正在使用的 pom 文件:

为什么日期时间对象没有正确序列化?

0 投票
0 回答
1923 浏览

scala - 尝试使用 JSON 解析运行 Spark 应用程序时出现异常

我有一个带有 Scala 和 SBT 的简单 Spark 应用程序。首先,我尝试执行以下操作:

  • sbt clean package

  • spark-submit --class Main ./target/scala-2.11/sparktest_2.11-1.0.jar

但它失败了,但有以下例外:

然后我尝试了 SBT 的程序集插件,但我得到了以下异常:

正如我所看到的,一切看起来都与 Jackson 库和 Scala 支持有关。也许这是与库版本相关的一些问题?

我的 build.sbt 看起来像这样:

我的应用程序代码就是这样的:

编辑:问题似乎与 Spark 应用程序有关。如果我运行简单的应用程序只是为了测试 JSON 解组一切正常。但是,如果我尝试从 Spark 应用程序中执行相同操作,则会出现如上所述的问题。有任何想法吗?

0 投票
1 回答
460 浏览

json - 从 Jackson-Module-Scala 2.4 迁移到 2.5

我正在使用 jackson-module-scala 2.4 和下面的包装器成功地序列化和反序列化各种复杂对象。当更改为 jackson-module-scala 2.5 时,许多反序列化(JSON 到对象)失败。例如,以下简单列表的反序列化失败。

错误信息:

这是包装:

如何迁移到 Jackson 2.5 并让反序列化工作?

0 投票
0 回答
546 浏览

java - 无法识别的字段“用户”(类 com.test.webservice.bean.User),未标记为可忽略

您好我正在尝试通过 jersey 服务转换以下 json 对象,

我得到下面提到的错误:

此外,如果我将 @JsonIgnoreProperties 设置为 TRUE,则会忽略完整的用户对象,并且我会收到所有字段的 NULL 值。

我也知道我设置如下的 ObjectMapper:

我正在使用jackson 2.0,以下是用户bean的示例代码

如果我将 json 对象设置如下

我想知道这是否应该如何工作,或者在这种情况下是否有任何解决方法,除了更改 json 字符串。

感谢您的时间。

0 投票
2 回答
7212 浏览

java - 使用 Jackson 的 CSV 数据格式模块解析 CSV 文件时出现 CharConversionException

我正在尝试使用JacksonCSV 数据格式模块解析CSV文件。

我尝试了他们项目主页上给出的示例代码(https://github.com/FasterXML/jackson-dataformat-csv

这个小代码给了我错误

我可以使用openCSV
读取相同的文件, 我试图通过互联网上的这个错误找出答案,但找不到有用的。请有人告诉我错过了什么?

0 投票
1 回答
3971 浏览

xml - 使用 JacksonXML 反序列化 CDATA - UnrecognizedPropertyException

我正在使用杰克逊库(2.5.2)并试图反序列化一些实际上具有 CDATA 部分的 XML。

Jackson 2.5 似乎增加了对 CDATA 的支持。

这是我的具有 CDATA 的类:

}

我得到以下异常。有没有办法用杰克逊反序列化CDATA?

似乎使用 JacksonXmlText 工作正常,但是当我需要序列化回来时,我需要将值放在 CDATA 中而不是文本中。

这是我第一次使用杰克逊,所以我可能会遗漏一些明显的东西。

谢谢,

0 投票
1 回答
2383 浏览

jackson - 在 Jax-RS 应用程序中注册 JodaModule

我正在使用 Jersey 和 Jackson2 编写 Jax-RS 应用程序以促进 JSON i/o。该服务本身运行良好,但我想通过让杰克逊映射器自动序列化/反序列化日期和日期时间到 JodaTime 对象来改进它。

我正在关注此处的文档并添加了相关的罐子,但我迷失了这条指令:

我尝试在扩展 jax.ws.rs.core.Application 的自定义类中执行此操作,但我对该解决方案完全没有信心。我目前收到此错误:

除了这个模块注册需要在应用程序(servlet?)启动时发生的一般印象之外,我不知道如何处理这些信息。我是否需要用一些特别的东西来注释自定义类才能将其拾取?我应该扩展一些课程吗?

我在 StackOverflow 上找到的示例通常将其粘贴main()并直接调用映射器,但我依赖于 Jackson Databinding,因此这些示例不相关。任何方向表示赞赏。

0 投票
0 回答
949 浏览

scala - 如何使用带有 Scala 模块的 Jackson 反序列化嵌入 null 的字符串数组?

我有以下斯卡拉case class

使用杰克逊,当我序列化类的一个实例时:

我收到以下 JSON:

这是满足我需求的完全有效的表示。不过,在反序列化期间,我收到com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.lang.String out of VALUE_NULL token

显然,null这不是一个可接受的String值,但由于我正在反序列化为 Scala Option[String]null因此应该将其表示为一个None值。

How to deserialize Jackson Json NULL String to Date with JsonFormat中,@wassgren 建议使用使用JsonDeserialize注释的转换器,在阅读文档后,我选择使用该contentUsing选项:

不幸的是,该代码不会引发预期的异常。尝试使用 acontentConverter也不会引发任何异常:

如何读取字符串对象数组并接受或转换空值?