即使使用 jackson-datatype-jsr310,Instant 也无法序列化为适当的格式
Posted
技术标签:
【中文标题】即使使用 jackson-datatype-jsr310,Instant 也无法序列化为适当的格式【英文标题】:Instant cannot be serialized to appropriate format even with jackson-datatype-jsr310 【发布时间】: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。
【问题讨论】:
【参考方案1】:你需要禁用feature WRITE_DATES_AS_TIMESTAMPS:
这可以通过在 application.yml 文件中添加以下内容来实现:
spring:
jackson:
serialization:
WRITE_DATES_AS_TIMESTAMPS: false
【讨论】:
以上是关于即使使用 jackson-datatype-jsr310,Instant 也无法序列化为适当的格式的主要内容,如果未能解决你的问题,请参考以下文章
为啥即使使用单个 reducer 也会调用 Partitioner
即使我在 laravel 中使用 updateorcreate 方法,为啥还要复制数据
为啥 isConfiguration:compatibleWithStoreMetadata 会返回 yes,即使使用了映射模型?