【发布时间】:2021-07-17 20:45:53
【问题描述】:
我有一个简单的 DTO,我想以 JSON 格式接收它并使用 Jackson 的 ObjectMapper 反序列化
class SimpleDto {
LocalDate date;
}
问题是这个日期的格式,然而应该是yyyy-MM-dd,是不固定的,它可能会遗漏一些部分——例如。它可以是完整的日期
{
"date": "2020-01-01"
}
或者只是年有月无日
{
"date": "2020-01"
}
甚至一年
{
"date": "2020"
}
我正在尝试使用 ObjectMapper 和 JavaTimeModule 注册但它不支持例如年无月日格式
ObjectMapper mapper = new ObjectMapper().registerModule(JavaTimeModule());
是否可以以某种方式将其映射到LocalDate?我看到了一些类似的主题(如this),但似乎他们没有回答我的问题
编辑
现在我开始考虑我是否应该将此字段视为LocalDate - 据我了解,没有什么像LocalDate.of(2000, 0, 0)(实际上它正在引发异常)然后将1990反序列化为(什么?)@ 987654335@ 显然是一个错误,并且可能会导致逻辑中出现一些异常,该逻辑会假设 01 是有效且提供的月份,01 是有效且提供的日期
【问题讨论】: