首页 > 解决方案 > 如何为 Optional 指定 JsonFormat使用 LocalDateSerializer?

问题描述

我有这样的课:

public class Foo {
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    @JsonSerialize(contentUsing = LocalDateSerializer.class)
    private Optional<LocalDate> localDate;
}

然后我使用 序列化类ObjectMapper,同时注册Jdk8ModuleJavaTimeModule

但是,我得到了一个我没想到的 JSON:对于LocalDate.of(2020, 4, 1),它被序列化为以下内容:(为清晰起见,代码格式化)

{
    "localDate": [2020, 4, 1]
}

代替:

{
    "localDate": "2020-04-01"
}

标签: javajsonjackson

解决方案


推荐阅读