问题标签 [jackson2]
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.
java - 自定义 UnmodifiableSetMixin 在 Jackson 2.7+ 中失败
我希望能够在UnmodifiableSet
启用默认类型的情况下反序列化。为此,我创建了一个UnmodifiableSetMixin
如下所示的:
注意:您可以在https://github.com/rwinch/jackson-unmodifiableset-mixin找到一个包含所有源代码的最小项目来重现此问题
然后我尝试使用它来反序列化一个空集。
测试通过 Jackson 2.6,但使用 Jackson 2.7+ 失败,堆栈跟踪如下:
谁能帮我修复 Jackson 2.7+ 的测试(我希望它适用于 Jackson 2.8.3)?
android - 在 Android 中使用 Jackson 转换器
我有一个像这样的 json 响应
但我想以这种方式
我有第一个 json 响应的 POJO。第二个包含具有相同公司名称的项目。如何将其转换为第二个?
json - Jackson 如何从具有 oneOf 的 json 模式生成 pojo
这个 json 模式的 Java 类是什么?当我生成类时,类中没有像街道地址这样的属性
java - java.lang.NoSuchMethodError 使用 Jackson 核心流 API
我正在使用 Jackson Core 2.8.3 版,但为什么我不断收到java.lang.NoSuchMethodError
?我没有使用任何其他杰克逊的模块,只是核心(流)API
堆栈跟踪
java - 将 Java 对象传递给 RESTful 服务
我将一个 Java 对象传递给一个接受 json 的 Web 服务,使用HttpURLConnection
. 采用com.fasterxml.jackson
将对象转换为 json 字符串,然后将其写入输出流,该服务适用于简单的虚拟 POJO,但是当我使用我最初打算发送的复杂对象时应用程序中断,控制台充满StackOverflow 之类的异常和无休止的混乱
在 com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:690) 在 com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155)
常见的解决方案就像用 json 注解对类进行注解。有没有其他方法可以解决它,比如使用不同的 accept:content-type 用于 Web 服务(除了 json 或 xml,因为它们需要带注释的对象)或类似的?
serialization - 如何为 spring-data-rest 和我的 @RestController 类编写单个 objectMapper
我为我的实体编写了一个 UnwrappingBeanSerializer。目前这个序列化程序是使用ConfigureJacksonObjectMapper注册的
该序列化程序适用于从 spring-data-rest 生成的 REST API。但是我@RestController
对同一个实体有一个自定义,但是它不知道在 spring-data-rest 配置中注册的序列化程序。
我想UnwrappingBeanSerializer
在 spring-data-rest API 和我的自定义控制器中序列化我的响应。
如何做到这一点?
我也尝试过@JsonSerialize
我的实体类。但我无法为unWrappingBeanSerializer
with创建 beanBeanSerializerBase
java - Jackson , java.time , ISO 8601 , 无毫秒序列化
我正在使用 Jackson 2.8,并且需要与不允许在 ISO 8601 时间戳内毫秒数的 API 进行通信。
预期的格式是这样的:"2016-12-24T00:00:00Z"
我正在使用 Jackson 的 JavaTimeModule 并WRITE_DATES_AS_TIMESTAMPS
设置为false
.
但这将打印毫秒。
所以我尝试使用objectMapper.setDateFormat
which 并没有改变任何东西。
我目前的解决方法是这样的:
我正在覆盖适用的默认序列化程序Instant.class
。
有没有什么好方法使用一些配置参数来解决这个问题?
spring - 杰克逊配置使用rabbitmq中的记录列表
我正在使用 spring boot amqp,我将在其中使用队列中的 Employee 对象列表。我的侦听器方法如下所示:
但是,当我尝试使用该消息时,我得到一个类转换异常:由于某种原因,我得到了一个 LinkedHashMap。
如果我将侦听器方法更改为使用单个员工对象,则它可以正常工作,并且我正在使用以下杰克逊配置:
我需要做一些其他杰克逊配置来使用员工对象列表吗?
非常感谢!
我将使用的示例输入 Json 消息:
java - Jackson JsonNode 序列化
我正在使用带有 Java 8 函数的AWS Lambda 。Lambda 有一个内置的 Jackson Serializer,因此当您的方法返回一个对象时,它会将其序列化为 JSON 表示。
我有一个由以下属性组成的对象:
为简单起见,我省略了该类的所有其余部分,但它具有 getter / setter 等。
通常,当我在本机应用程序中运行它时,它可以完美运行。树JsonNode
结构呈现为 JSON。例如:
但是,由于某些未知原因,当我在 Lambda 中运行它时,实际的 JsonNode 对象本身(不是树,而是包装器对象)被序列化。所以我得到了这个:
是否有人对为什么会发生这种情况有任何见解以及对解决方案/解决方法的任何建议?
更新:
我专门使用 JsonNode 因为model
andfield
是动态的并且在运行时提供。所以我不会提前知道结构。
java - 列表的杰克逊 SimpleAbstractTypeResolver
我有一个由需要使用 Jackson 反序列化的接口组成的对象。由于系统的设计,我无法在界面中指定任何注释,因此我需要将所需的解析器信息添加到ObjectMapper
. 我的对象有以下内容:
现在我可以使用以下命令相对轻松地处理警报AbstractTypeResolver
:
这很好用。但是,Extra
以相同的方式添加解析器不起作用:
关于我应该如何将其应用于列表的任何建议?