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

 

三 測試

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章