问题标签 [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.
jackson - Kotlin:数据类上的 JsonProperty.Access.READ_ONLY
我想存档这样的东西:
不幸的是,这会导致以下异常:
这个有效:
我试过@field:JsonProperty
无济于事。
如何让这个注释在 Kotlin 中工作?我使用 dropwizard 1.1.0,杰克逊 2.8.6
java - Jackson databind - 如何在不指定目标类的情况下反序列化对象?
我正在从snakeyaml 迁移,snakeyaml 的一个功能是它会自动在输出 YAML 中写入对象类型,以便反序列化透明且容易。我似乎在 Jackson Databind 中找不到相同的功能。
如果我只指定 Object.class,我会得到预期的 LinkedHashMap。此外,要使其正常工作,我必须在 JSON 中查看类类型,但我还没有找到一种本地方法来做到这一点。
这是必需的吗?
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,另一个是我手动添加的。
java - Java:更新 JSON 文件中嵌套数组节点的值
由于项目要求,我必须使用com.fasterxml.jackson.databind
库来解析 JSON 数据,不能使用其他可用的 JSON 库。
我是 JSON 解析的新手,所以不确定这里是否有更好的选择?
我想知道如何更新Array
JSON 文件中节点中的字符串值。
以下是示例 JSON。请注意,这不是整个文件内容,它是一个简化版本。
以下是将 JSON 读入 java 对象的代码。
要更新例如JSON 文件environment
中的根级别节点值,我在一些 SO 线程上找到了以下方法。
问题 1:这是更新 JSON 文件中的值的唯一方法吗?这是最好的方法吗?我担心这里的双重转换和文件 I/O。
问题 2:我找不到更新嵌套数组节点值的方法,例如questionList
. 将问题从 更新when is the next world cup
为when is the next soccer world cup
spring - 杰克逊空对象反序列化为null
为什么杰克逊 ACCEPT_EMPTY_ARRAY_AS_NULL_OBJECT 作为反序列化功能([] -> null)而不是 ACCEPT_EMPTY_OBJECT_AS_NULL_OBJECT({} -> NULL)。有没有办法在当前的杰克逊库中实现这一点?
java - 如何将 JSON 字符串转换为 Java 对象列表?
这是我的 JSON 数组:-
我的 String 对象中有这个。现在我想将它转换为 Java 对象并将其存储在 Java 对象列表中。例如在学生对象中。我正在使用下面的代码将其转换为 Java 对象列表:-
我的列表类是:-
我的学生对象是:-
我在这里错过了什么吗?我遇到了以下异常:-
java - 使用注释的杰克逊多态反序列化
假设我们有以下类型:
有了它Cat
并Dog
具有不同的属性,我们如何根据始终存在于 json 中Zoo
的字符串将对象反序列化为适当的 Animal 子类型?animalType
我知道如何做到这一点,custom deserialization
但我找不到使用Jackson annotations
. 如果animalType
财产位于,Cat
或者Dog
但在我的情况下,它的位置在Zoo
.
任何的想法 ?
spring - 如何在不从 spring-boot-starter-web 继承的情况下在 Spring Boot 中获取 ObjectMapper 实例?
我正在玩 Spring Boot 2.0.0M2,试图创建一个 CLI 应用程序,而不是 Web 应用程序。我的问题是,即使包括
在我的构建中,ObjectMapper 不是由 Boot 创建的,因为
当您想要拥有 Spring Boot 实例并配置 Jackson 但不想启动 Web 服务器时,最佳实践是什么?
java - 获取和更新嵌套 JSON 属性值
我有一个看起来像这样的嵌套 JSON。
在这里,我必须获取 eventFiles 键,将 fileContent 值替换为 Base64Encoded String 并将其放回相同的 eventFiles 属性。我知道我可以使用 Jackson Mapper 将其转换为 Map 并逐个迭代它们,直到找到 eventFiles 键,然后获取并替换该值并再次将其存储回来。我尝试使用TypeReference<String, Object>
甚至将其转换为地图,TypeReference<Map<String, Map<String, Object>>>
但这里的问题是嵌套的 JSON,最终它将成为地图内部的地图内部的地图,这将变得非常难以处理。
有没有其他更简单的方法来实现这一点?任何建议都会非常有帮助。提前致谢。