问题标签 [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 - 我们必须在 Scala 案例类中使用 @JsonProperty 吗?
每个人。
为案例类的 Json 序列化定义 @JsonProperty 注释似乎是一个非常不必要的练习。例如:
通过使用jackson-module-parameter-names模块和-parameters javac 选项,似乎可以在 Java 中避免像这样的琐碎 @JsonProperty 注释(只是重复参数的名称) :
为什么构造函数用@JsonCreator注解时,它的参数必须用@JsonProperty注解?
但是,这不适用于 Scala 案例类。有针对这个的解决方法吗?
spring - 库中的自定义 Jackson 序列化
我正在编写一个使用 RestController 来公开一个资源的 Spring Boot 应用程序。唯一的资源 MainResource 是这样的:
String id;
String title;
List<String> tags;
ComplexGraphObject gObject;
为了完成这项工作,我在必要时为 MainResource 和 gObject 及其字段编写了 DTO。我用 Jackson 注释了 DTO,并编写了返回域模型的 DTO-Mappers。Spring 正确地将对 DTO 的请求序列化,并且应用程序服务为域对象调用 DTO-Mappers。
我现在意识到 gObject 应该是它自己的库,因为我们想将它用于客户端和服务器应用程序。
我的目标是:
- 该库应采用 json/xml 中的序列化 gObjects 并返回域对象。
- 该库应采用域 gObjects 并返回序列化的 json/xml
- 使已经使用 Jackson 的应用程序尽可能与 Spring Boot 等库无缝协作
- 为其他可能使用诸如 gson 之类的应用程序提供方便的方法
从我读到的自定义杰克逊 de/serializer 是要走的路。但是在自定义序列化程序、ObjectMapper、MixIns 等之间,我不知道该怎么做。
编辑:我认为 mixins 的目的有点像我的 DTO 正在做的事情,而 DTO-Mapper 有点像自定义 de/serializer 应该做的事情。有没有办法混合两者?
编辑:我忘记了重要的部分。DTO-Mapper 从 DTO 生成域对象以及表示图中每个节点所需关系的矩阵,以便可以相应地连接它们。所以我想我需要在自定义序列化程序中这样做?
java-8 - 使用 LocalDateTime 的客户端 Resteasy
我尝试使用 Resteasy CLIENT 调用一项 REST 服务
在我的服务中,我使用 springboot 创建并返回一个 LocalDateTime 属性
如果我使用这种依赖
这是我的 bean 中的代码:
这是我调用我的服务时的结果:
dtPublicacao:“2017-04-20T00:00:00”
如果我删除这个结果:
所以在我的客户中,我创建了相同的模型并使用它来执行 Get
因此,如果我将 LocalDateTime 放入客户端,则会收到此错误:
引起:org.codehaus.jackson.map.JsonMappingException:无法从JSON字符串实例化类型[简单类型,类java.time.LocalDateTime]的值;没有单字符串构造函数/工厂方法(通过参考链:br.com.lumera.protesto.edital.vo.EditalVO["dtExpiracao"])
解决我需要在我的客户表单中更改 LocalDateTime 到 Date 并添加
我已经尝试在我的客户端中添加相同的依赖项,但是他注册了 LocalDateTimeSerializer.class 但是当我调用 REST 时,他没有通过 serialize 方法,我又得到了错误。
我可以从我的 Restasey 客户端接收和发送 LocalDateTime 吗?
tks
更新 我也已经尝试过这样做:
没有成功,然后我尝试在我的客户中:
没有成功..如果我调试我的应用程序,他会输入方法
在 LocalDateTimeSerializer 但不要进入序列化方法或反序列化
jackson - 意外的令牌 (END_OBJECT),预期的 FIELD_NAME:缺少属性“@type”
我在反序列化期间遇到异常,来宾配置文件是 Root 对象中的嵌套对象(其中的几个级别)。我无法控制它的序列化方式,因为我只是来自 kafka 主题的这条消息的消费者。有没有办法使这项工作,除了设置
GuestProfile
这对我有用,并在填充其他属性的情况下返回 null 。但是,我需要一种方法来自定义 JSON 中这个特定嵌套对象的反序列化并填充它。
com.fasterxml.jackson.databind.JsonMappingException:意外令牌(END_OBJECT),预期 FIELD_NAME:缺少包含类型 ID 的属性“@type”(对于 com.test.GuestProfile 类)
java - Spring 和 MappingJackson2HttpMessageConverter 和 registerModule
我们正在使用最新的 Spring 4.2.x,我们最近从 Jackson Mapper 2.6.3 升级到 2.8.8,现在我们正在注册模块。
这是 spring-servlet.xml 的一部分:
这是我们在代码中映射 json 文件的内容:
所以,我想做的是配置“spring-servlet”和“MappingJackson2HttpMessageConverter”,这样我就可以添加要注册的模块。
是的,我们还没有开始使用@Configuration,我们仍然在使用我完全不介意的 XML。
谢谢你的帮助!
java-8 - Springboot 与 Localdatetime 和 resteasy 客户端
我使用 springboot 返回一个 LocalDateTime 和 LocalDate 参数,所以我在后面放了:
并在应用程序属性中:
所以现在我的背部返回这两种类型:
在我面前我使用:
在我的课堂上:
因此,当我回电时,我得到了错误:
javax.ws.rs.client.ResponseProcessingException:javax.ws.rs.ProcessingException:org.codehaus.jackson.map.JsonMappingException:无法从JSON字符串实例化类型[简单类型,类java.time.LocalDateTime]的值;没有单字符串构造函数/工厂方法(通过引用链:br.com.exmart.indicadorRTDPJ.service.rest.vo.ProtocoloVO["entrada"])
我已经尝试放入我的
但得到了同样的错误
我已经试着把
spring - 如何在 Spring Boot 中为 jackson-datatype-money 创建 Jackson Customizer?
我对 Jackson 的这个 Spring Boot 定制器有疑问。调试它似乎已配置,但杰克逊在(反)序列化期间没有使用该模型。
这是解决这个问题的正确方法吗?
java - Spring MVC,MessageConverters,忽略代码配置
我正在使用 xml 和基于代码的配置的混合。我的代码配置的一部分被忽略了。这个:
我在 Spring MVC 应用程序启动时调试该configureMessageConverters()
方法,并执行该方法。尽管如此,我在控制器中的 JSON 响应并没有将 Joda LocalDate 转换为字符串表示,而是返回整个对象结构。
为什么会被忽略?
json - Jackson 映射器扩展 LocalDate
我们有一个使用 LocalDate 定义的 DTO:
我们有一个 ObjectMapper 定义如下的代码:
我们的 pom.xml 文件中包含所有 jackson-datababindm 核心 jsr310:
因此,当我将对象转换为 JSON 字符串时:
dob 将 JSON 字符串写入为:
"dob":{ "year": 1964, "month": "FEBRUARY", "chronology": { "calendarType": "iso8601", "id": "ISO" }, "monthValue": 2, "dayOfMonth" :13,“dayOfWeek”:“THURSDAY”,“era”:“CE”,“dayOfYear”:44,“leapYear”:true}
而不是: "dob":"1964-02-13" 这是正确的。
所以,我不确定我是如何做到这一点的?
我想确保写出的日期是正确的,所以我可以重新解析回 LocalDate。或者,有没有办法可以获取现有的 JSON(扩展)并将其解析回 LocalDate?
谢谢!
spring - 已导入 Git 存储库但未找到某些导入?
我有一个导入 Eclipse 的 Git 存储库,但它有一些导入错误。
我正在使用 Spring Redis 1.8.4 版并按照他们的示例介绍如何进行对象映射。我使用了 Jackson Mapper 链接,然后使用了 jackson-datatype-mongo 映射器。
https://github.com/commercehub-oss/jackson-datatype-mongo
在我的工作电脑上一切都很好。
如果我删除了 jackson-datatype-mongo 依赖项,那么导入就可以了,但是我不会有 MongoModule 导入。我尝试了 eclipse 的一个解决方案,它说它可以归档“jackson-databind-2.8.1.jar”,一切都会很清楚。但后来我的“.classpath”文件现在被更改了。
我不明白它在一台机器上有多好,我所做的只是将存储库克隆到另一台机器上。