This is a multi-module umbrella project for various Jackson datatype modules to support 3rd party libraries.
Currently included are:
- 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
- jackson-datatype-javax-money for JSR 354 datatypes (starting with Jackson 2.19)
- jackson-datatype-moneta for JavaMoney Moneta RI datatypes (jsr354 reference implementation) (starting with Jackson 2.19)
- 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)
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.
| Type | Status |
|---|---|
| Build (CI) | |
| Code coverage (2.18) |
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.18.3</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 JavaxMoneyModule()) .addModule(new MonetaMoneyModule()) // 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.