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<>();
}

 

三 测试

 

posted @ 2024-04-24 10:48  正怒月神  阅读(147)  评论(0编辑  收藏  举报