gpt4 book ai didi

java - 将 JSON 请求中的字符串映射到请求 POJO 中的 Enum

转载 作者:行者123 更新时间:2023-12-02 02:18:31 25 4
gpt4 key购买 nike

我有一个枚举,如下所示:

public enum Level {
HIGH ("hi"),
MEDIUM("med"),
LOW ("lo")
;

private final String levelCode;

private Level(String levelCode) {
this.levelCode = levelCode;
}
}

此枚举是另一个请求类中的元素,例如:

public class RequestPOJO{

Level level;

int somefield1; //other instance varilables

//...... other instance varilables
}

我想将 JSON 请求中的字符串字段(名称为 levelCode)映射到此枚举。我正在使用 jackson 进行连载。有没有办法将请求中的这个字符串字段直接映射到这个枚举。

最佳答案

您可以在enum 中为新方法使用@JsonValue 注释。该方法应该返回 String ,在您的示例中它只不过是 levelCode 。如果这样做,这将解决序列化和反序列化的问题。

只是为了让您了解情况,如果由于 Jackson 的错误而导致 enum 具有 int 字段,则该方法的工作方式将有所不同。在这种情况下,您需要使用 @JsonCreator 采用不同的方法。

您可以引用my blog获取实现示例。

关于java - 将 JSON 请求中的字符串映射到请求 POJO 中的 Enum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48909695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com