This is a multi-module umbrella project for various Jackson datatype modules to support 3rd party libraries.
Currently included are:
- jackson-datatype-joda-money for Joda-Money datatypes
- JSR-353/JSON-P: 2 variants (starting with Jackson 2.12.2)
- jackson-datatype-jsr353 for older "javax.json" JSR-353 (aka JSON-P) datatypes (package
javax.json
) - jackson-datatype-jakarta-jsonp for newer "Jakarta" JSON-P datatypes (package
jakarta.json
)
- jackson-datatype-jsr353 for older "javax.json" JSR-353 (aka JSON-P) datatypes (package
- jackson-datatype-json-org for (org.json) JSON model datatypes (included in Android SDK, as well as stand-alone Java library)
- jackson-datatype-jakarta-mail for Jakarta Mail (ex-Java Mail) (starting with Jackson 2.13)
- Currently (2.13) just type
jakarta.mail.internet.InternetAddress
- Currently (2.13) just type
Note that this repo was created for Jackson 2.11: prior to this, individual datatype modules had their own repositories.
All modules are licensed under Apache License 2.0.
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)
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,