<a>
<b1>b1</b1>
<b2>b2</b2>
<b3>
<c1></c1>
<c2></c2>
</b3>
<b3>
<c1></c1>
<c2></c2>
</b3>
<b3>
<c1></c1>
<c2></c2>
</b3>
</a>
由于所有
<b3>
不包含在包装元素中,比如 <b3s>
当我使用 jackson 时 XmlMapper
要将 XML 文件读取到我的 POJO Java Bean 类,我遇到了异常com.fasterxml.jackson.databind.JsonMappingException: Can not instantiate value of type [simple type, class com.xxxxx] from String value; no single-String constructor/factory method (through reference chain: com.xxxx["xxx"]->com.xxx["xxx"])
我应该使用什么注释?
@XmlElement
public List<B3> b3;
最佳答案
如果要使用“解包”表示,则需要使用 Jackson 2.1,并指明解包选项:
@JacksonXmlElementWrapper(useWrapping=false)
或者,如果使用 JAXB 注释,则默认不应使用包装。
最后,您还可以更改默认值不使用包装元素,使用:
JacksonXmlModule module = new JacksonXmlModule();
// to default to using "unwrapped" Lists:
module.setDefaultUseWrapper(false);
XmlMapper xmlMapper = new XmlMapper(module);
关于jaxb 解码器 : repeated xmlelement without wrapper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13097559/