问题标签 [jackson-databind]

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

java - 使用 Jackson Object Mapper 将整数列表从 json 反序列化为 java

我的 json 响应如下:

模型类:

对象映射器代码:

我无法将validationErrors从json映射到java,即解析后validationErrors = null。我期待validationErrors = {1000}但不知道为什么?我知道我们可以使用 TypeReference 来返回数组或列表,但不能嵌套在数据对象中。

0 投票
0 回答
457 浏览

java - 使用 Jackson API 解析 JSON 字符串

我在 Vert.x 核心包中使用 Jackson API 将 JSON 字符串解码为 java 对象。通常,这几乎适用于所有情况,但仅适用于一个特定用例。我正在从用户输入的表单数据构造 JSON 字符串,并使用下面的行将其映射到 java 对象。

MyClass.java

输入字符串

当字段的值description 是另一个 JSON 字符串时,映射将失败并出现异常。

我尝试添加这些com.fasterxml.jackson.core.JsonParser.Feature配置,但没有奏效。

我正在使用Vert.x 3.4.1Java 8

我在这里错过了什么吗?任何帮助是极大的赞赏!

0 投票
1 回答
910 浏览

java - 如何序列化在类级别提供的 JsonInclude.Include.NON_NULL 值

目前我的应用程序有一个类如下

我在将对象转换为 JSON 的日志中捕获员工对象。我能够将对象转换为 JSON,但空值不会进入 JSON。

我已经尝试过以下

但无法获取 JSON 中字段的空值。我如何得到它们?

0 投票
1 回答
1285 浏览

java - 将 JSON 请求中的字符串映射到 Request POJO 中的 Enum

我有一个像这样的枚举:

此枚举是另一个请求类中的元素,例如:

我想将 JSON 请求中的字符串字段(名称为 levelCode)映射到此枚举。我正在使用杰克逊进行序列化。有没有办法将请求中的这个字符串字段直接映射到这个枚举。

0 投票
2 回答
1885 浏览

java - Spring Boot GET数据类型转换不起作用

尝试使用 Spring Boot 时出现以下异常。它无法转换请求参数。我在这里想念什么?如何在 Spring Boot 中自定义请求数据类型转换器?

我的 Controller 方法如下所示。

我还为 OffsetDateTime 添加了转换器(基本上这是由 swagger 生成的)

应用程序属性

以下是我的 pom.xml

0 投票
1 回答
481 浏览

jackson - 杰克逊 JSON 序列化包含仅忽略空字段和空集合

我们最近从 Jackson json 2.8.2 迁移到 2.9.4,我们看到行为发生了重大变化。我们使用的是 JDK 1.8。

早些时候,我们在对象映射器级别将序列化包含设置为 NON_DEFAULT,并且一切正常。

现在更改为 2.9.2 后,NON_DEFAULT 会忽略所有默认值,例如布尔值 false、整数 0、...。这破坏了我们的测试用例。

我们的要求是只忽略空字段和返回为 [] 的空白字段。

但是我们仍然不想忽略空字符串,例如 test = ""

我们尝试了 non_empty、non_absent 都忽略了每个字段(null、[]、“”)。

您能否建议我们如何自定义序列化行为以满足我们的要求?如果您需要更多详细信息,请告诉我。

0 投票
0 回答
429 浏览

java - 如何在 JSON 文件中转义字符串值并替换

在下面的代码中,我将“con”标记值替换为新声明的字符串“con”值(“{\”payload_dl\”:{\“deveui\”:\“23456\”}}“)。但是这样做时,该值将存储为没有转义字符的普通字符串。

如何在jsonNode中替换时转义字符串值???。

changePayloadContent 方法,

0 投票
1 回答
765 浏览

java - 如何使用杰克逊序列化通用对象

这是我的课

我只能换一个班。可以jackson不配置就序列化objectMapper吗?

编辑:我在 spring mvc @RestController 中使用这个对象作为方法结果参数。而杰克逊的 objectMapper.canSerialize(Response.class) 返回 false。

编辑:我已经这样解决了:

公共类响应{

0 投票
1 回答
15566 浏览

spring - Jackson java.util.Optional 序列化不包括类型 ID

我有以下课程:

现在,当我序列化MySubEntity包装在OptionalJSON 中时,它不包含clazz包含类型 ID 的属性。漏洞?当我序列化到List<MySubEntity>或只是到MySubEntity它工作正常。

设置:jackson-databind 2.9.4,jackson-datatype-jdk8 2.9.4,序列化在提供 RESTful Web 服务的 Spring Boot 应用程序中完成。

编辑:这是返回的 Spring REST 方法Optional

编辑: 我用一个简单的 Spring REST 控制器和两个测试做了一个 SSCCE 。第一个测试是ObjectMapper直接使用,它在反序列化中是成功的,尽管clazz缺少。第二个测试调用 REST 控制器并失败并出现错误,因为clazz缺少:

提取类型 [class com.example.demo.MySubEntity] 和内容类型 [application/json;charset=UTF-8] 的响应时出错;嵌套异常是 org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Missing type id when trying to resolve subtype of [simple type, class com.example.demo.MySubEntity]: missing type id property 'clazz'; 嵌套异常是 com.fasterxml.jackson.databind.exc.InvalidTypeIdException:尝试解析 [simple type, class com.example.demo.MySubEntity] 的子类型时缺少类型 id:缺少类型 id 属性“clazz”

0 投票
2 回答
60 浏览

java - 将json字符串解析为具有复杂数据结构的java(jackson)

我正在尝试将下面的 json 字符串转换为 java 对象,但我得到的是空对象。在 prop2 对象下,可以有任意数量的键值对(其中键是字符串,值是数组)

我有这个类结构,但是我将 ipAndPorts 映射为空。

我的 java 类应该如何正确表示“prop2”?