我正在尝试使用 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 foo.put(MyEnum.COINS, null)
,这确实是一条有效的 Java 指令。非常感谢您的帮助,在此先感谢。