小编Kac*_*zar的帖子

反序列化空值以使用 Jackson 进行枚举

我在 JSON 反序列化并将其映射到枚举时遇到问题。我从类似于这两个示例的外部 API 获取 JSON:

{
 "someValue": null
}
Run Code Online (Sandbox Code Playgroud)
{
 "someValue": "exists"
}
Run Code Online (Sandbox Code Playgroud)

我想将空值映射到某个默认枚举值。

模型对象

SomeEnum someValue;
Run Code Online (Sandbox Code Playgroud)

和枚举类

public enum SomeEnum {
    @JsonProperty("exists") EXISTS,
    NONE;
}
Run Code Online (Sandbox Code Playgroud)

对于存在,值模型类包含正确的枚举,但如果我null从 API获取,它仍然null在模型中。

我尝试创建一些由 注释的方法@JsonCreator,创建自己的枚举反序列化器,使用@JsonEnumDefaultValue但这些解决方案都不适合我。有谁知道,如何将空值反序列化为某个默认枚举?

java jackson deserialization spring-boot

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

标签 统计

deserialization ×1

jackson ×1

java ×1

spring-boot ×1