Java 备忘: Jackson 包的 XML 注解支持

官方文档 https://github.com/FasterXML/jackson-dataformat-xml/wiki/Jackson-XML-annotations 还是有点晦涩的,本文提供注解与其对应的 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 Collection ki;

    @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;
}

你可能感兴趣的:(Java 备忘: Jackson 包的 XML 注解支持)