jackson.dataformat.xml 反序列化 对象中包含泛型
重点:
@JacksonXmlProperty
localName 指定本地名称@JacksonXmlRootElement
localName 指定root的根路径的名称,默认值为类名@JsonIgnoreProperties(ignoreUnknown = true)
这个注解写在类上,用来忽略在xml中有的属性但是在类中没有的情况@JacksonXmlElementWrapper(useWrapping (default:true))
指定XML元素用于List或者Map ,默认值userWrapping=true
一 看model
我的Model嵌套了一个泛型,我们重点关注Containers 这个对象
Containers中,有一个泛型List<>
二 标识泛型
为了让Jackson认出泛型,从而可以顺利反序列化。
我们使用如下两个注解
@JacksonXmlElementWrapper(useWrapping = false)
@JacksonXmlProperty(localName = "bookingcontainer")
@Data @NoArgsConstructor @AllArgsConstructor public class Containers { @JacksonXmlElementWrapper(useWrapping = false) @JacksonXmlProperty(localName = "bookingcontainer") List<Bookingcontainer> bookingcontainer=new ArrayList<>(); }
三 测试