我有以下xml:
<?xml version="1.0"?>
<configuration>
</configurations>
当我使用 XMLMapper 读取此 xml 时,如下所示:
XmlMapper xmlMapper = new XmlMapper();
List<Map<String, Object>> entries = xmlMapper.readValue(new File(xmlFileName), List.class);
我得到以下调用堆栈的空指针异常:
java.lang.NullPointerException at com.fasterxml.jackson.databind.deser.std.UntypedObjectDeserializer.deserialize(UntypedObjectDeserializer.java:162) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:227 ) 在 com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:23) 在 com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:204)。 com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2052) 上的 fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2993) .... ....
即使 XML 在标签之间没有值,它仍然有效,所以我认为该函数应该返回空列表而不是 NPE。