【发布时间】:2020-11-23 14:56:59
【问题描述】:
我的 JSON 如下所示:
{
"name": "john",
"options": {
"test": 1,
"operation": "op1", // I need to deserialize this option to enum.
...
// any number of options
}
}
我的课程如下所示:
public class Info {
public String name;
@JsonTypeInfo(use = JsonTypeInfo.Id.NONE)
public Map<String, Object> options;
}
public enum OperationEnum {OP1, OP2, OP3}
我如何反序列化到 options 映射 operation 像 enum 和 test 到 Integer
【问题讨论】:
-
为什么使用地图而不是 DTO 类?
-
Info类是 DTO。我在里面使用地图是因为我可以获得任意数量的选项。 -
您可以为您的
Info类使用自定义反序列化器,并检查选项映射中的数据以查看是否有OperationEnum。然后,您可以为每个人使用OperationEnum.valueOfstackoverflow.com/questions/19158345/…
标签: java jackson jackson-databind