小编Deb*_*der的帖子

使用 objectMapper 将 JSON 日期格式反序列化为 ZonedDateTime

背景

  1. 我有以下 JSON(来自 Kafka 的消息)
{
      "markdownPercentage": 20,
      "currency": "SEK",
      "startDate": "2019-07-25"
}
Run Code Online (Sandbox Code Playgroud)
  1. 我有以下(生成 JSON 模式)POJO(我无法更改 POJO,因为它是公司的共享资源)
{
      "markdownPercentage": 20,
      "currency": "SEK",
      "startDate": "2019-07-25"
}
Run Code Online (Sandbox Code Playgroud)
  1. 我们的应用程序是一个 Spring Boot 应用程序,它使用 Spring Cloud Stream 从 Kafka 读取 JSON 消息 (1) 并使用 POJO (2),然后对其进行处理。

问题

当应用程序尝试将消息反序列化到对象时,它会引发以下异常

public class Markdown {
    @JsonProperty("markdownPercentage")
    @NotNull
    private Integer markdownPercentage = 0;
    @JsonProperty("currency")
    @NotNull
    private String currency = "";
    @JsonFormat(
        shape = Shape.STRING,
        pattern = "yyyy-MM-dd"
    )
    @JsonProperty("startDate")
    @NotNull
    private ZonedDateTime startDate;

    // Constructors, Getters, Setters etc.

} …
Run Code Online (Sandbox Code Playgroud)

java json jackson spring-boot spring-cloud-stream

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

jackson ×1

java ×1

json ×1

spring-boot ×1

spring-cloud-stream ×1