This is a multi-module umbrella project for Jackson standard binary dataformat backends.
Dataformat backends are used to support format alternatives to JSON, using general-purpose Jackson API. Formats included allow access using all 3 API styles (streaming, databinding, tree model).
For Jackson 2.x this is done by sub-classing Jackson core abstractions of:
- All backends sub-class
JsonFactory
, which is factory for:JsonParser
for reading data (decoding data encoding in supported format)JsonGenerator
for writing data (encoding data using supported format)
- Some backends sub-class
ObjectMapper
for additional support for databinding
there will be some changes (such as introduction of format-specific ObjectMapper
sub-classes) in Jackson 3.0.
master
branch is for developing the next major Jackson version -- 3.0 -- but there
are active maintenance branches in which much of development happens:
2.10
is for developing the next (and possibly last) minor 2.x version2.8
and2.9
are for backported fixes for 2.8/2.9 patch versions
Older branches are usually not changed but are available for historic reasons.
All released versions have matching git tags (jackson-dataformats-binary-2.9.4
).
Note that since individual format modules used to live in their own repositories, older branches (before 2.8) and tags do not exist in this repository.
Currently included backends are:
All modules are licensed under Apache License 2.0.
To use these format backends Maven-based projects, use following dependency:
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-[FORMAT]</artifactId>
<version>2.9.9</version>
</dependency>
where [FORMAT]
is one of supported modules (avro
, cbor
, smile
etc)
In addition to binary format backends hosted by FasterXML in this repo, there are other known Jackson backends for binary data formats. For example:
- bson4jackson for BSON
- EXIficient for Efficient XML Interchange
- jackson-dataformat-msgpack for MessagePack (aka
MsgPack
) format
See Wiki for more information (javadocs).