This project is the main hub to all kinds of documentation related to the Jackson JSON Processor.
For your first steps in understanding how to use Jackson, following tutorials are good places to start:
- Baeldung Jackson JSON Tutorial
- Jackson in N minutes (
- Jenkov.com Jackson Tutorial
- JournalDev JacksonTutorial
- LogicBig.com Jackson Tutorial
- Mkyong.com's Jackson Tutorial (part of larger Java JSON Tutorials
- StudyTrails Jackson Introduction
- TedBlob Jackson Tutorial
- Jackson Annotations (links to core/databind/JAXB annotations)
- Customize your Java-JSON serialization using Jackson Annotations
- Advanced Jackson annotations
- Jackson on Android (proguard definitions)
JVM Languages beyond Java
(need links to Scala, Kotlin, Clojure tutorials, articles)
Documentation under Jackson GH projects
Jackson project hub has links to all active Jackson projects. These projects contain plenty of project-specific documentation, such as:
- Core Annotations
- Streaming API
- On/off features, per-factory: JsonFactory.Features
- On/off features, reading: StreamReadFeatures, JsonReadFeatures, JsonParser.Features.
- On/off features, writing: StreamWriteFeatures, JsonWriteFeatures, JsonGenerator.Features
- Databind Annotations
- On/off features: DeserializationFeatures, SerializationFeatures, MapperFeatures.
External (off-GitHub) documentation
Blogs that regularly write about Jackson include:
- Cowtowncoder @Medium
- CowTalk Blog (old, getting obsolete)
And here are good articles around the web:
- General usage
- Jackson annotations:
- Customize serialization with Jackson Annotations
- A Guide to Jackson Annotations by Baeldung
- Jackson Annotations at Jenkov.com
- Misc configuration
- Jackson deserialize snake case to camel case at TedBlob
- Streaming API
- Jackson - JsonParser at Jenkov.com
- Jackson JsonParser at TedBlob
- Jackson - JsonGenerator at Jenkov.com
- Jackson JsonGenerator at TedBlob
- Polymorphic type handling:
- Data formats beyond JSON
- Platform-specific Jackson integration
The easiest ways to participate is to join one of Jackson mailing lists (Jackson google groups):
- Jackson Announce: Announcement-only list for new Jackson releases, meetups and other events related to Jackson
- Jackson User: List dedicated for discussion on Jackson usage
- Jackson Dev: List for developers of Jackson core components and modules, discussing implementation details, API changes.
There are other related lists and forums as well:
- Smile Format Discussion: List for discussing details of the binary JSON format called Smile (see Smile Specificat
- Jackson Users is a Jackson-specific discussion forum for usage questions.
See (External) Jackson Sample Code.
On Jackson versioning
Note that there are two major Jackson versions: 1.x (1.0 - 1.9) and 2.x (2.0 - 2.13). These versions can co-exist as they are located in different Java packages and use different jar naming and Maven group/artifact ids. But this means that you have to make sure that all components in use have matching major versions: specifically, Jackson 2.x code does NOT understand or support Jackson 1.x annotations, or vice versa.
Minor versions (like 2.1 and 2.2) are backwards compatible with respect to public API: old code should work without recompilation, if (but only if) it relies on external API; public methods, annotations. When overriding internal functionality, we try hard to maintain backwards compatibility between adjacent minor versions; need for changes is indicated by deprecating internal methods. Recompilation is thus recommended when extending by sub-classing, for example.
- Jackson Github Hub is the... The Hub for all stuff, including this project.