我想在运行时使用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
您可以尝试使用org.apache.commons.lang3.EnumUtils
类和getEnum方法: