-
Notifications
You must be signed in to change notification settings - Fork 1
Home
1. Intro
(Welcome to the Jungle)
This document (book, wiki page) tries to be the manual you always needed to learn how to make effective use of the tool set known as Jackson Data Processor (*). Due to sheer size of the tool set and problem space it can be used on, manual will fall on wide-but-not-super-deep category: this is by design. I try to cover things in enough depth to get you started; and will try not to over-simplify concepts, but at some point it may be necessary dig in alternative documentation -- this is not The Exhaustive and Detailed Reference Manual.
- Intro: Pre-requisites
- Intro: Reading JSON
- Intro: Writing JSON
- Intro: Handling Value Sequences
- Intro: Converting Values
- Intro: Beyond JSON
(*) nee "Jackson JSON parser"
Jackson has been in active development since early 2007. This chapter covers the history briefly, and explains some of the insights gained as well as ideology behind the development efforts.
Many JSON libraries offer just a single method of processing JSON content, but there are 3 canonical processing models. Jackson supports all these models, and they can be used independently but also integrate nicely so that you can mix and match processing models to suit your needs.
This chapter explains major models and how Jackson supports them:
- Processing Model: Tree Model
- Processing Model: Data-Binding (full)
- Processing Model: Data-binding (simple)
- Processing Model: Streaming
We already briefly use Jackson API in the Introduction, to perform common JSON processing tasks: reading and writing JSON, as well as doing some simple conversions. This chapter goes over main structure of API and overviews main entities you will work with.
-
PropertyNamingStrategy
?
ObjectReader (and related)
MappingIterator
ObjectWriter (and related)
SequenceWriter
TypeFactory
TypeReference
Access to current type, parent context, current mapped value
Barebones interface for callbacks to ObjectMapper, -Reader and -Writer
- TokenBuffer for efficient buffering, used internally for buffering, conversions
Mostly for databinding.
- Forward ref to data formats
- Annotations (@JsonTypeInfo)
- Default typing
- PropertyNamingStrategy (back-ref?)
- Mix-Ins
- Defaults:
- InjectableValues
- JsonInclude
- DateFormat
- TimeZone
- Visibility
NOTE: most configurable via ObjectMapper, ObjectReader
- FormatFeatures too
NOTE: most configurable via ObjectMapper, ObjectWriter
- CharacterEscapes
- PrettyPrinter
- FormatFeatures too
- JsonNodeFactory
- Comparators?
- Scala, Kotlin
- Afterburner, Mr. Bean, JAXB Annotations