【发布时间】:2020-10-10 15:18:36
【问题描述】:
我有一个XML 文档要用Jackson 反序列化:
<root>
<properties>
<property>
<key>k1</key>
<value>v1<value>
</property>
</properties>
</root>
如您所见,/root/properties 看起来非常像一张地图,每个/root/properties/property 都类似于Map.Entry。
有没有办法创建一个 POJO 将其反序列化为一个 Map<String, String> 不需要自定义反序列化器?
我希望得到类似以下的东西,但它没有用:
@JacksonXmlRootElement(localName = "root")
public class Root {
@JacksonXmlElementWrapper(localName = "properties")
public Map<String, String> properties;
}
我从中得到的错误是:
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.String` out of START_OBJECT token
【问题讨论】:
标签: xml jackson deserialization xml-deserialization jackson-dataformat-xml