Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time

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:



Frameworks, Platforms

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:

External (off-GitHub) documentation

Blogs that regularly write about Jackson include:

And here are good articles around the web:


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:

Sample code

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.

Misc other


Documentation for the Jackson JSON processor.






No releases published


No packages published