当前位置: 首页 > 知识库问答 >
问题:

Jackson使用Spring Boot 2和Kotlin进行反序列化,无法构造`java.time.localdate`的实例

糜淇
2023-03-14
    null
 data class DateDto (
    @JsonProperty("date")
    @JsonDeserialize(using = LocalDateDeserializer::class)
    @JsonSerialize(using = LocalDateSerializer::class)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    val date : LocalDate
 );

共有1个答案

弘柏
2023-03-14

事实证明,步骤2)实际上解决了我这里的问题。我需要为ObjectMapper注册一个JavaTime模块。我一定是做错了什么,才没有让这个模块更早地工作。

例如:

 var mapper = ObjectMapper() 
 .registerModule(KotlinModule())
 .registerModule(JavaTimeModule())

 mapper.readValue<DateDto>(message)

此外,不需要包含com.fasterxml.jackson.datatype:例如jackson-datatype-jsr310。您只需将jackson-module-kotlin包括在内,如下所示:

    <dependency>
        <groupId>com.fasterxml.jackson.module</groupId>
        <artifactId>jackson-module-kotlin</artifactId>
    </dependency>
 类似资料:
  • 我从Fitbit API得到一个json字符串。我想在列表对象中保存dateTime和value字段。我用的是jackson模块Kotlin。我为此创建了ActivitiesSteps数据类。 下面是我使用Jackson的代码: 并引发以下异常:

  • 代码试图采用java.awt.color类使用jackson对象映射器对其进行序列化。获取生成的json字符串并将其反序列化回java.awt.color类。但是在进行反序列化时会出现以下错误。 线程"main"com.fasterxml.jackson.databind.JsonMappingException中的异常:找不到适合类型[简单类型,类java.awt.颜色]的构造函数:无法从JSO

  • 我正在尝试从gson迁移到jackson。这很令人沮丧,jackson在序列化方面做得更好(gson会因为各种原因阻塞jackson序列化的类而没有抱怨)然而,gson更擅长反序列化。 无法构造组织的实例。javautil。果心csv。SqlCsvExporterJson(尽管至少存在一个创建者):没有从字符串值反序列化的字符串参数构造函数/工厂方法。 我已经将其简化为一个简单的bean,我将其序

  • 问题内容: 我正在尝试使用Jackson将json数据转换为POJO对象。这是MainActivity和我的POJO类代码。我基本上收到了JsonMappingException错误。我还附上了整个日志。 MainActivity.java: Entries.java(这是POJO) 现在,我的日志中出现以下错误。因此,我无法继续工作。这是日志: 问题答案: 在 条目* 和 电话中 删除构造函数