问题标签 [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 - Jersey 2.x ExceptionMapper 父映射
编辑:这是 ackson-jaxrs-base 早期版本中的一个问题,在 jackson-jaxrs-base-2.8 中已解决。 https://github.com/FasterXML/jackson-jaxrs-providers/issues/22
我正在努力解决这个问题,使用异常映射器。我想将 com.fasterxml.jackson.core.JsonProcessingException 的所有子项映射到一个单一的 ExceptionMapper 中。
这是我的代码:
使用以下代码可以正常工作:
编辑: JsonProcessingException 是 JsonMappingException 的父级,我到底做错了什么?
json - 用杰克逊序列化范围
我有一个Range
需要以某种格式序列化的文件,即"[lower,upper)"
. 为此,我编写了一个基本的序列化程序:
(请注意,实际上,序列化程序处理各种可能性,Range
例如关闭/打开范围,两端无限范围的可能性等,但出于我的问题的目的,这无关紧要,因此我已将其删除以保留代码简单的)。
我的问题是,通过回退到每个类的默认序列化程序,我最终会在错误的位置使用引号。例如,如果我有一个Range<String>
带有条目的条目,"[foo,bar)"
那么在序列化它时我会获得"["foo","bar")"
. 我需要在上下端点值周围不带引号的结果。
我知道额外的引号是因为gen.writeString()
在底层序列化程序中没有意识到它已经在一个字符串中。有没有办法让生成器知道这一点,或者有另一种方法来实现我想要做的事情?
请注意,这Range<?>
确实是通用的,因此我无法对值的序列化进行硬编码。它需要为Range<Integer>
,Range<String>
和Range<DateTime>
其他任何东西工作。
java - 是否有与 Jackson 1 的 StdSerializerProvider 等效的 Jackson 2?
我继承了一些使用 Jackson 1.9.2 的遗留代码,并希望将其升级到 Jackson 2.x。争论点之一如下:
我遇到的问题是StdSerializerProvider
存在于 Jackson 1.9.x中,但不存在于 Jackson 2.x 中。是否有一个等效的类可以保留现有行为?还是根本需要更换?
java - 在 RESTEasy 客户端中提取 JSON 响应的特定节点
我正在使用 RESTEasy 客户端从 API 中检索 JSON 字符串。JSON 有效负载如下所示:
现在我想只提取items
对象映射的节点。拦截 JSON 响应正文并将其修改items
为根节点的最佳方法是什么?
我正在为我的 API 方法使用RESTEasy 代理框架。
REST 客户端代码:
RESTEasy 代理接口:
java - 在 Jackson 中将 JsonNode 序列化为非常特定的 JSON 格式
我有JsonNode
想要打印的结果。到目前为止,我正在使用:
输出类似:
但我需要它采用这种特定格式:
对于上下文,我正在从JSONObject
Jackson 转换,因此第二个输出是由JSONObject.serialize()
.
另外,上面介绍的每种格式都有名称吗?它似乎遵守不同的标准。
java - Jackson - 使用自定义 PrettyPrinter 和自定义 JsonSerializer
我正在使用 Jackson v2.8.2 将 JSON 序列化为文件。
我创建了一个自定义序列化程序并实现了serialize
根据需要自定义 JSON 输出的方法。
我正在调用序列化程序,如下所示:
JSON 文件已创建,内容看起来不错。
该文件是根据格式化的,DefaultPrettyPrinter
但我想使用我自己的自定义PrettyPrinter
,我已经实现了。
我怎么做?
我尝试了以下方法:
但这并没有调用我的自定义打印机。
java - Jackson 的 @JsonTypeInfo(use = Id.CUSTOM, include = As.PROPERTY, property = "type") 读取 JSON 的所有字段,除了 "type"
我逐行浏览了每一行代码,但我认为这是 Jackson 在内部处理多态性的方式。
使用Dog
和Cat
扩展的经典示例Animal
:
狗类:
猫类:
这AnimalTypeIdResolver
是一个典型的 TypeIdResolver 扩展AbstractTypeIdResolver
。
出于一些非常奇怪的原因,bark_decibel
并且meow_level
从 JSON 反序列化,但type
以null
. 有任何想法吗?
java - 使用 Jackson 2 解组 json 时出错
我正在尝试使用 Jackson 2 解组以下 JSON 文件:
解组几何/坐标元素时发生错误。有人可以指出错误在哪里吗?
在几何部分之前一切正常。