问题标签 [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.
scala - java.lang.ClassNotFoundException Spark Scala
我在 scala 中有一个带有以下代码的简单 Spark 程序,但得到了异常。我想做的就是运行主代码。我还包括了 gradle 配置。任何帮助将不胜感激。
错误:-
主要的:-
build.gradle:-
}
没有其他依赖
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
。
有没有什么好方法使用一些配置参数来解决这个问题?
java - Jackson Object Mapper 以字节为单位读取值,返回所有字段初始化为 null 的对象
我正在尝试使用杰克逊对象映射器将字节数组反序列化为 java 类型。
并使用杰克逊方法,
由于我不确定字节数组包含什么对象,我希望它在它无法创建指定类型的对象时失败。但是,objectMapper 返回一个所有字段都初始化为 null 的对象。我该如何避免这种行为?
这就是我已经配置了 ObjectMapper,
json - 在jackson中序列化和反序列化时如何改变JSON节点的数据格式
我有以下传入的 json,我将其反序列化为 Model.java,然后将该 java 对象复制到 ModelView.java。我不想将日期从 String 转换为毫秒并将 Outgoing json 作为响应发送。我该怎么做?
我有特定的理由使用对象映射器将值从 Model.java 复制到 ModelView.java。所以请不要建议修改那部分。我希望通过注释来做到这一点。我很确定可以做到,但不知道怎么做。
这里提供的 json 是一个简单的。在实际场景中我有一个很大的 json。
传入的json
传出的 Json
我的控制器类
模型.java
模型视图.java
我愿意将变量名称从“日期”更改为 ModelView.java 中的其他名称,但传出的 json 应该保持不变。
angularjs - 修改消息转换器后,Jackson + Spring web 无法反序列化未引用的字符串
我有一个弹簧控制器方法,它String
完全RequestBody
像这样:
以前,我已经能够将“裸”字符串发布到此方法,即以字符串作为主体(而不是 json 对象)的请求。例如(来自 chrome 开发工具):
在我尝试在我的 xml 配置文件中使用以下内容将Jackson Hibernate 4 模块添加到Jackson2ObjectMapperFactoryBean(以处理 hibernate 惰性集合)后,这停止了工作:
像这样自定义 ObjectMapper 后,我在发布上述请求时收到以下错误:
解决方法(使用角度 js)是JSON.stringify()
在发布到 API 之前调用,因此角度代码变为
并且请求变为
在此之后,API 像以前一样工作,自己接受字符串。
虽然我知道没有封闭的字符串"
不是有效的 JSON 字符串,但我不明白为什么在这种情况下更改 ObjectMapper bean 会产生如此大的差异?我正在使用 spring 版本 4.3.4 和 jackson 版本 2.8.5,如果这是所有有用的信息。
jackson - 为类型的包装列表注册反序列化器
我有这样的 JSON:
例如说这个Application
类看起来像这样
我想将 JSON 反序列化为List<Application>
,其中每个{...}
都是Application
. 我希望做到这一点,而不必创建一个包装类Applications
,比如用 注释它@JsonRootName
,然后启用DeserializationFeature.UNWRAP_ROOT_VALUE
. 最终目标是拥有一个Retrofit接口,它具有以下内容:
我试图实现一个简单的JsonDeserializer
(可能会被优化):
我看不到任何方法可以为此特定类型注册此反序列化器。我试过这个:
但这失败了:
我正在使用以下依赖版本:
如何配置反序列化以与 a 一起正常工作List<Application>
?
json - Jackson JsonSchema 模块中的 ArrayItems 与 SingleItems 有什么区别?
在文档中,ArrayItems
描述为
当此属性值为 jsonSchema 数组且实例值为数组时,实例数组中的每个位置必须符合该数组对应位置的 jsonSchema
并且SingleItems
作为
当此属性值为 jsonSchema 且实例值为数组时,则数组中的所有项都必须根据 jsonSchema 有效。
但我真的不明白attribute value
andinstance
指的是什么。如果我只想知道数组中项的数据类型,我应该使用哪一种?
spring-boot - 如何在测试中禁用 JsonProperty 或 JsonIgnore
如果有办法禁用@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
或@JsonIgnore
测试?
我正在尝试测试我的createUser()
但我需要user.getPassword()
在解析我的User
对象时启用方法。
如果我评论该@JsonProperty
行它有效,但如果我这样做,密码字段将在GET /users or GET /users/{id}
方法中返回。
这是我的测试
创建新用户的方法:
这是它在序列化User
对象后得到的 json ObjectMapper
:
UserController.class 方法
用户类属性
这是解决方法吗?
json - 默认情况下停止 jackson-scala-module 序列化所有字段
使用DefaultObjectMapper
from jackson-scala-module
,在以下示例中,在 Scala 版本field
中序列化,但在 Java 版本中不序列化。设置com.fasterxml.jackson.databind.MapperFeature.AUTO_DETECT_FIELDS
没有效果。
我希望没有字段被序列化,除非一个字段用com.fasterxml.jackson.annotation.JsonInclude
.
斯卡拉
爪哇
java - 如何将列表的 Jackson 自定义反序列化器添加到模块?
我有一个自定义反序列化器
}
然后我需要将其添加到杰克逊映射器模块
我试过了
但这没有用。
TypeFactory 是正确的方法还是反序列化器定义的问题?
我不想使用注释,所以这是我知道的唯一其他方法。我不想将功能直接添加到对象映射器,因为我将有很多自定义反序列化,并且我想将所有代码隐藏在模块中。
提前致谢