【问题标题】:Instant cannot be serialized to appropriate format even with jackson-datatype-jsr310即使使用 jackson-datatype-jsr310,Instant 也无法序列化为适当的格式
【发布时间】:2017-12-05 19:20:48
【问题描述】:

添加以下依赖项:

compile("com.fasterxml.jackson.module:jackson-module-parameter-names:2.8.9")
compile("com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.8.9")
compile("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.8.9")

我现在可以使用 Instant 反序列化以下 JSON:

{
    "timestamp": {{$timestamp}}
}

到以下对象:

Transaction(timestamp=2017-07-02T10:58:18Z)

使用以下类声明

data class Transaction(@NotNull val timestamp: Instant)

但是,之后立即序列化时,我得到以下信息:

{
  "timestamp": 1498992172
}

我正在使用 Spring Boot 和 Kotlin。

【问题讨论】:

    标签: java spring spring-boot jackson kotlin


    【解决方案1】:

    你需要禁用feature WRITE_DATES_AS_TIMESTAMPS:

    这可以通过在 application.yml 文件中添加以下内容来实现:

    spring:
      jackson:
        serialization:
          WRITE_DATES_AS_TIMESTAMPS: false
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-16
      • 2021-08-19
      • 2016-07-15
      • 2018-05-10
      • 2016-11-25
      • 2019-01-09
      • 2021-07-03
      相关资源
      最近更新 更多