Skip to content
Tatu Saloranta edited this page Nov 29, 2020 · 46 revisions

Home: Jackson XML databind Wiki

This is the home page for "jackson-xml-databind" project. The main deliverable of the project is a jar that contains extension to Jackson JSON library, to extend it so that it can bind XML to POJOs (and vice versa), instead of using JSON.

Basic usage

Intended usage is by instantiating 'com.fasterxml.jackson.xml.XmlMapper', and using it just like standard Jackson 'ObjectMapper' -- the difference being that instead of JSON, external data format is XML. That is:

import com.fasterxml.jackson.xml.XmlMapper;

// with Jackson 2.10 and later
ObjectMapper mapper = XmlMapper.builder()
    // possible configuration changes
    .build();

// or, with Jackson versions before 2.10 (also exists for later versions)
ObjectMapper mapper = new XmlMapper();

For most usage that is all there is!

One alternative is that if you need to change some configuration, you may need to first configure module, then construct mapper:

JacksonXmlModule module = new JacksonXmlModule();
// to default to using "unwrapped" Lists:
module.setDefaultUseWrapper(false);
XmlMapper xmlMapper = XmlMapper.builder(module)
    .build();

Note that underlying JsonParser and JsonGenerator instances are specific subtypes as well (FromXmlParser, ToXmlGenerator), but usually you don't have to worry about this.

Licensing

Project is licensed under Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt) like all official Jackson components.

FasterXML also explicitly allows users to alternatively license component under Lesser GPL (LGPL) 2.1 up to and including version 2.2. If so, they may want to repackage artifacts to reflect their choice of license to use.

Documentation

Javadocs

Snapshots

Snapshot builds can be found from Sonatype Maven Snapshot repository:

<snapshotRepository>
   <id>sonatype-nexus-snapshots</id>
   <name>Sonatype Nexus Snapshots</name>
   <url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
Clone this wiki locally