我正在使用 Jackson 自定义反序列化器来解析 JSON 文件。在这个文件中有一堆条目,键为“class”,值为类的名称(没有完整的包名)。反序列化器知道一堆预定义的(硬)路径来搜索任何类。自定义反序列化器应查找关键字“class”(在解析 JSON 时),然后根据值(类名字符串)在预定义的路径中搜索并实例化具有匹配类名的对象。
我已经实现了 JacksonDeserializers
接口并覆盖了一堆回调:findBeanDeserializer
, findBeanDeserializer
, ... 但是,当解析器看到键值对并根据它采取不同的行动findEnumDeserializer
时,这并不能让我捕捉到事件。class:ClassName
任何帮助或指示将不胜感激。
一个示例 JSON
{
"class": "X",
"fieldName1": {
"class": "Y",
}
...
}