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

jackson - Kotlin:数据类上的 JsonProperty.Access.READ_ONLY

我想存档这样的东西:

不幸的是,这会导致以下异常:

这个有效:

我试过@field:JsonProperty无济于事。

如何让这个注释在 Kotlin 中工作?我使用 dropwizard 1.1.0,杰克逊 2.8.6

0 投票
2 回答
266 浏览

java - Jackson databind - 如何在不指定目标类的情况下反序列化对象?

我正在从snakeyaml 迁移,snakeyaml 的一个功能是它会自动在输出 YAML 中写入对象类型,以便反序列化透明且容易。我似乎在 Jackson Databind 中找不到相同的功能。

如果我只指定 Object.class,我会得到预期的 LinkedHashMap。此外,要使其正常工作,我必须在 JSON 中查看类类型,但我还没有找到一种本地方法来做到这一点。

这是必需的吗?

0 投票
1 回答
300 浏览

jakarta-ee - Glassfish 4.1 中 Amazon s3 上传 API 的杰克逊版本

嗨,我在 glassfish 中遇到以下错误

警告:调用 EJB FileUpload 时发生系统异常,方法:public java.lang.String com.sahvidya.ejb.entityoperations.FileUpload.personalFileUploadFromSystem(com.sahvidya.entity.entitysystem.PersonalDirectory,org.primefaces.model.UploadedFile ,java.lang.String) 抛出 java.io.IOException


警告:javax.ejb.TransactionRolledbackLocalException:从 bean 抛出的异常:java.lang.NoSuchMethodError:com.fasterxml.jackson.databind.ObjectMapper.enable([Lcom/fasterxml/jackson/core/JsonParser$Feature;)Lcom/fasterxml/jackson /数据绑定/对象映射器;

通过查看各种博客,我了解到 glassfish 4.1 版有较旧的杰克逊库(2.4),它没有这种方法,需要升级 Jakcson 版本(2.8)。我想升级我的 glassfish,但遇到了其他问题。保持相同的 glassfish 版本将是升级杰克逊版本的方法。只需添加更新的杰克逊 jar 文件项目就可以解决目的吗?项目中可用的两个jackson版本会不会出现版本冲突问题。一个来自 Netbeans,另一个是我手动添加的。

0 投票
1 回答
2039 浏览

java - Java:更新 JSON 文件中嵌套数组节点的值

由于项目要求,我必须使用com.fasterxml.jackson.databind库来解析 JSON 数据,不能使用其他可用的 JSON 库。

我是 JSON 解析的新手,所以不确定这里是否有更好的选择?

我想知道如何更新ArrayJSON 文件中节点中的字符串值。

以下是示例 JSON。请注意,这不是整个文件内容,它是一个简化版本。

以下是将 JSON 读入 java 对象的代码。

要更新例如JSON 文件environment中的根级别节点值,我在一些 SO 线程上找到了以下方法。

问题 1:这是更新 JSON 文件中的值的唯一方法吗?这是最好的方法吗?我担心这里的双重转换和文件 I/O。

问题 2:我找不到更新嵌套数组节点值的方法,例如questionList. 将问题从 更新when is the next world cupwhen is the next soccer world cup

0 投票
0 回答
424 浏览

spring - 杰克逊空对象反序列化为null

为什么杰克逊 ACCEPT_EMPTY_ARRAY_AS_NULL_OBJECT 作为反序列化功能([] -> null)而不是 ACCEPT_EMPTY_OBJECT_AS_NULL_OBJECT({} -> NULL)。有没有办法在当前的杰克逊库中实现这一点?

0 投票
9 回答
191776 浏览

java - 如何将 JSON 字符串转换为 Java 对象列表?

这是我的 JSON 数组:-

我的 String 对象中有这个。现在我想将它转换为 Java 对象并将其存储在 Java 对象列表中。例如在学生对象中。我正在使用下面的代码将其转换为 Java 对象列表:-

我的列表类是:-

我的学生对象是:-

我在这里错过了什么吗?我遇到了以下异常:-

0 投票
1 回答
1125 浏览

java - 使用注释的杰克逊多态反序列化

假设我们有以下类型:

有了它CatDog具有不同的属性,我们如何根据始终存在于 json 中Zoo的字符串将对象反序列化为适当的 Animal 子类型?animalType我知道如何做到这一点,custom deserialization但我找不到使用Jackson annotations. 如果animalType财产位于,Cat或者Dog但在我的情况下,它的位置在Zoo.

任何的想法 ?

0 投票
3 回答
6443 浏览

spring - 如何在不从 spring-boot-starter-web 继承的情况下在 Spring Boot 中获取 ObjectMapper 实例?

我正在玩 Spring Boot 2.0.0M2,试图创建一个 CLI 应用程序,而不是 Web 应用程序。我的问题是,即使包括

在我的构建中,ObjectMapper 不是由 Boot 创建的,因为

当您想要拥有 Spring Boot 实例并配置 Jackson 但不想启动 Web 服务器时,最佳实践是什么?

0 投票
1 回答
432 浏览

java - 获取和更新嵌套 JSON 属性值

我有一个看起来像这样的嵌套 JSON。

在这里,我必须获取 eventFiles 键,将 fileContent 值替换为 Base64Encoded String 并将其放回相同的 eventFiles 属性。我知道我可以使用 Jackson Mapper 将其转换为 Map 并逐个迭代它们,直到找到 eventFiles 键,然后获取并替换该值并再次将其存储回来。我尝试使用TypeReference<String, Object>甚至将其转换为地图,TypeReference<Map<String, Map<String, Object>>>但这里的问题是嵌套的 JSON,最终它将成为地图内部的地图内部的地图,这将变得非常难以处理。

有没有其他更简单的方法来实现这一点?任何建议都会非常有帮助。提前致谢。

0 投票
2 回答
6648 浏览

java - 使用 Jackson 将 Java 属性文件转换为 JSON

我想将 Java 属性文件转换为带有嵌套对象的 JSON。我遵循了一个我在这里找到的例子,但我无法让它工作。

例如,给定:

我想:

这是我到目前为止所拥有的:

输出如下所示: