1
0

Jackson 3 series companion code

37 runnable examples covering the eight feature posts on ankurm.com, verified
against Jackson 3.2.1 on Temurin 21.0.5. Every output committed under docs/ was
produced by run-all.sh.

Also documents 11 places where the published snippets do not compile or do not
behave as printed against a real Jackson 3 build - most notably that
writeValueAsString(List<Base>) silently drops the polymorphic type discriminator,
so the post's serialised output cannot be read back.
This commit is contained in:
2026-08-04 23:12:11 +05:30
commit c438afc33b
94 changed files with 3387 additions and 0 deletions

18
docs/README.md Normal file
View File

@@ -0,0 +1,18 @@
# Documentation
One page per post in the series. Each page lists the examples for that post, states
where the code deviates from the published snippet and why, and embeds the real
captured output.
- [Part 0 — Jackson 101: setup and the ObjectMapper lifecycle](part0-setup.md)
- [Part 1 — ObjectMapper: reading and writing](part1-objectmapper.md)
- [Part 2 — Records, Optionals and sealed types](part2-modern-java.md)
- [Part 3 — Annotations](part3-annotations.md)
- [Part 4 — Custom serialisers, deserialisers and mix-ins](part4-custom.md)
- [Part 5 — Polymorphic deserialisation](part5-polymorphic.md)
- [Part 6 — Streaming API and the tree model](part6-streaming.md)
- [Part 7 — Security](part7-security.md)
- [Beyond the posts](beyond.md)
Raw captured stdout for every program is in [`output/`](output). Those files are
regenerated by [`../run-all.sh`](../run-all.sh); do not edit them by hand.