Serialize Java List to XML using Jackson XML mapper Serialize Java List to XML using Jackson XML mapper xml xml

Serialize Java List to XML using Jackson XML mapper


Try the below code

@JacksonXmlRootElement(localName = "customer") class Customer {    @JacksonXmlProperty(localName = "id")    private int id;    @JacksonXmlProperty(localName = "name")    private String  name;    @JacksonXmlProperty(localName = "addresses")    @JacksonXmlElementWrapper(useWrapping = false)    private Address[] address;    //getters, setters, toString}class Address {    @JacksonXmlProperty(localName = "city")    private String city;    @JacksonXmlProperty(localName = "state")    private String state;    // getter/setter }


This setting changes default wrapping behavior, if you don't want to deal with annotation everywhere in your code.

XmlMapper mapper = new XmlMapper();mapper.setDefaultUseWrapper(false);


Just to add to ManojP's answer, if adding the @JacksonXmlElementWrapper(useWrapping = false) on the declaration of your variable doesn't work (which was the case for me), adding it to the getter method will do the trick.