在运行时不同的枚举类上,如何使用Jackson流API将文本解析为Enum?]

问题描述 投票:1回答:1

我想在运行时使用Jackson流API解析包含枚举的POJO,如下所示:

Class<Enum<?>> enumClass = field.getType();
JsonParser parser = ...;
String s = parser.getValueAsString();
Enum enum = (Enum)isThereAnyBiFunctionCanGetDynamicEnum(s, enumClass);

我可以混合使用DataBind和Stream API解决方案,即使用ObjectReader获得Enum

ObjectReader reader = ...;
Enum enum = (Enum)reader.readValue(parser, enumClass);

我认为这可能不是一个好习惯,请有人指导。谢谢!

我想在运行时使用Jackson流api解析包含枚举的POJO,如下所示:Class > enumClass = field.getType(); JsonParser解析器= ...;字符串s =解析器。...

java enums stream jackson
1个回答
0
投票

您可以尝试使用org.apache.commons.lang3.EnumUtils类和getEnum方法:

© www.soinside.com 2019 - 2024. All rights reserved.