杰克逊反序列化为具有枚举键的 Map,POJO 值
2022-09-04 07:37:58
我正在尝试使用Jackson将JSON反序列化为Java POJO。在不泄露机密信息的情况下,下面是一个 ObjectMapper 的反序列化失败时的堆栈跟踪示例:
org.codehaus.jackson.map.JsonMappingException: Can not construct Map key of type com.example.MyEnum from String "coins": not a valid representation: Can not construct Map key of type com.example.MyEnum from String "coins": not one of values for Enum class
我的 JSON 看起来像这样:
"foo": {
"coins": null,
...
}
我想反序列化为的类有这个字段:
private Map<MyEnum, MyPojo> foo;
我的枚举类型如下所示:
public enum MyEnum {
COINS("coins"),
...
}
我确实意识到我正在尝试反序列化空值。但我相信这应该仍然有效:反序列化的结果应该等同于有一个Map with ,这确实是一个有效的Java指令。非常感谢您的帮助,提前致谢。foo.put(MyEnum.COINS, null)