问题标签 [jackson-modules]
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.
json - 为自定义序列化 bean 生成 json-schema
我正在使用 FasterXML 的json-schema generator从我的 POJO 构建 json-schema 。一切正常,直到我的 POJO 使用自定义 json 序列化。就我而言,我有一个 org.joda.Money 类型的字段,并使用相应的 joda-module 对其进行序列化。bean被序列化得很好
但它的架构看起来像这样:
有没有办法自定义生成的模式?
java - 如何让 Jackson 使用 Google Guice Injector 创建实例?
我们使用 Google Guice 进行 DI(主要使用构造函数注入)和 Jackson 用于与 JSON 的对象序列化。因此,我们通过 Guice 模块构建我们的对象图。
我们如何提供/指导 Jackson 使用我们预先构建的 Guice Injector?或者它是基于我们提供的 Guice 模块的自己的注入器?我的偏好是为它提供注入器,因为我们已经有办法根据我们想要运行的环境/配置来控制使用哪个模块。
这是一个单元测试:
运行时会生成此异常com.fasterxml.jackson.databind.JsonMappingException
,并带有以下消息:找不到适合类型的构造函数 [简单类型,类建筑]:无法从 JSON 对象实例化(缺少默认构造函数或创建者,或者可能需要添加/启用类型信息?)
经过一番谷歌搜索,我遇到了jackson-module-guice项目,但它似乎不是我们需要的,也没有提供如何完成我们需要做的事情。
java - Jackson - 提取不带括号、逗号和 = 的数据?
我对 Jackson 了解不多,我只是在使用它,因为我需要将数据从 Python 共享到 Java。无论如何我的代码很简单
这就是我得到的:
我真的只是希望能够使用data
检索某种类型的数据结构来保存数据,而无需打印出 {} 和 = 等。有没有办法做到这一点?
我有一组节点,每个标签一个节点(例如 ADP)。我希望能够给 ADP 节点 0.830... 我可以用字符串做到这一点,但它会涉及一些非常烦人的字符串拆分。我假设必须有一个简单的方法来做到这一点?
编辑:
我正在加载的 json 文件中的数据如下所示
jackson - 如何配置 RESTEasy 以使用 Jackson 加力模块
对于大型有效负载,我们看到将 JSON 转换为 POJO 时会花费大量时间。在内部它使用杰克逊。想知道是否有一种方法可以将 RESTEasy 配置为使用 Afterburner 模块,这似乎可以提高性能。
java - 在 android 上使用 jackson-dataformat-xml
我正在努力在 android 上使用 jackson-dataformat-xml
我有一些非常基本的代码可以在 oracle jre 上正常工作
首先,我尝试了适用于 gradle的官方文档(我不确定是否正确完成):
结果:gradle 无法将核心库捆绑到应用程序中的构建时间
第二次尝试遵循 Sean 的回答 (基本上他用前缀名称重新打包 corelibs 并重建 jackson-dataformat-xml 以使用前缀名称)
重复项的构建时间失败
所以补充说:
添加它构建和部署的排除项时,但在堆栈转储下方运行时失败(AFAIK 它无法找到 SAX 提供程序,即使它已添加到类路径中以我的理解)
在#1或#2上前进的正确方法是什么?
json - Jackson JDK8 数据类型和参数名称模块不能一起使用
在我看来,Jackson JDK8 数据类型模块偶尔会忽略参数名称模块,这似乎有点令人惊讶,因为两者都需要 JDK8 并解决与 JDK8 有关的特定用例。
这里的问题是,如果没有明确指定参数名称(这就是 Parameter Names 模块的全部内容),我无法找到一种方法来使 JSON 反序列化工作。仅当尝试在容器对象构造函数中传递特定于 JDK8 的类型 ( ) 时,它也表现出这种行为Optional<T>
(即,通常这是有效的,我已经测试过了)。代码使用 javac 参数编译-parameters
。
问题是 - 如何使它工作,以便我可以利用参数名称模块(即不需要在构造函数中指定注释+值并让它通过参数名称找出属性名称)?
我可能弄错了,没有查看引擎盖下的代码,所以我想听听是否有遗漏的东西。
让我们考虑这个简单的例子。
版本堆栈(撰写本文时的所有最新版本):
容器:
序列化:
反序列化:
使用这样的容器运行testSer()
会产生:
testDeser()
使用这样的输入运行
也可以工作,并产生预期的结果(s1
有值,s2
是Optional.empty
和map
为空),但前提是容器构造函数定义如上。我无法让它在以下组合中工作:
1)
2)
按理说,两者都应该有效,但它们没有——两种方法都会产生以下堆栈跟踪:
我在这里想念什么?
java - 跳过格式错误的 csv 行
我一直在尝试读取 csv 并将字段添加到数据结构中。但是,其中一排没有正确形成,我知道这一点。我只想跳过这一行并继续前进。但是,即使我发现了异常,它仍然在打破循环。知道我在这里缺少什么吗?
我的.csv:
我的代码:
例外:
java - 我如何将 jsonNodes 列表转换为单个 jsonNode
我正在使用杰克逊图书馆。我有许多 java 对象,它们只是 jsonNode 的包装器。所以想将这些 jsonNodes 列表转换为单个 jsonNode。我怎样才能做到这一点。我试过这个
这是行不通的。还有其他方法吗?
maven - 由于 jackson-databind 版本不匹配导致的序列化错误?
我遇到以下错误
我查看了可用的 jackson-datatype-joda 版本。看来maven已经排除了所有版本不匹配。
这可能导致序列化错误的任何其他原因?
java - 使用 Jackson 反序列化时如何放松命名策略?
我一直在尝试升级 JSON 模块以使用 Jackson 的 FasterXML (2.6.3) 版本而不是旧的 Codehaus 模块。在升级过程中,我注意到使用 FasterXML 而不是 Codehaus 时的命名策略有所不同。
Codehaus 在命名策略方面更加灵活。下面的测试突出了我在使用 FasterXML 时面临的问题。如何配置ObjectMapper
它,使其遵循与 Codehaus 相同的策略?
我无法更改JSONProperty
注释,因为它们有数百个。我希望升级在命名策略方面向后兼容。