官方文档 还是有点晦涩的,本文提供注解与其对应的 XML 的预览,便于理解。
作为例子的 XML 如下
str 2 1 2 3 4 5-1 5-2 a7b 8 文]]>
对应于使用 Jackson 注解的 JavaBean 如下
import java.util.*;import com.fasterxml.jackson.dataformat.xml.annotation.*;import lombok.Data;@Data@JacksonXmlRootElement(localName = "root")public class RootXml { private String k1; @JacksonXmlProperty(localName = "k-2") private Integer k2; @JacksonXmlElementWrapper(localName = "k3") private Collectionki; @JacksonXmlElementWrapper(localName = "k4") @JacksonXmlProperty(localName = "ka") private Collection k4; @JacksonXmlElementWrapper(localName = "k5", useWrapping = false) private Collection k5; @JacksonXmlProperty(isAttribute = true) private Integer k6; @Data public static class Value1 { @JacksonXmlText private String a; } private Value1 k7; @Data public static class Value2 { @JacksonXmlText(value = false) private String a; } private Value2 k8; @JacksonXmlCData(value = true) // 序列化时是否总是使用 CDATA 块 private String k9;}