FasterXML / jackson-datatypes-misc

Collection of common Jackson datatype modules not part of other multi-project repos
Apache License 2.0
22 stars 20 forks source link

Overview

This is a multi-module umbrella project for various Jackson datatype modules to support 3rd party libraries.

Currently included are:

Note that this repo was created for Jackson 2.11: prior to this, individual datatype modules had their own repositories.

License

All modules are licensed under Apache License 2.0.

Build Status

Build Status

Usage

Maven dependency

To use module (version 2.x) on Maven-based projects, use dependency like (for which module(s) you want):

<dependency>
  <groupId>com.fasterxml.jackson.datatype</groupId>
  <artifactId>jackson-datatype-json-org</artifactId>
  <version>2.13.0</version>
</dependency>

(or whatever version is most up-to-date at the moment)

Registering module

To use the datatype module(s) with Jackson, simply register it with the ObjectMapper instance:

// import com.fasterxml.jackson.datatype.jsonorg.JsonOrgModule;
// ... and so on

// Jackson 2.x before 2.10:
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JsonOrgModule());
mapper.registerModule(new JodaMoneyModule());
// ONE of these (not both):
mapper.registerModule(new JSR353Module()); // old (javax) json-p API
mapper.registerModule(new JSONPModule()); // new (jakarta) json-P API

// OR Jackson 2.10 and above
ObjectMapper mapper = JsonMapper.builder()
    .addModule(new JsonOrgModule())
    .addModule(new JodaMoneyModule())
    // ONE of these (not both):
    .addModule(new JSR353Module()) // old (javax) json-p API
    .addModule(new JSONPModule()) // new (jakarta) json-P API
    .build();

after which datatype read/write support is available for all normal Jackson operations,