Champollion is the Jakarta JSON Processing 2.1 + JSON Binding 3.0 implementation of the Vidocq ecosystem. Zero dependency outside specs, strict JPMS, virtual threads, and JSON-B bindings emitted at compile time by an APT — no runtime reflection, AOT-friendly (GraalVM, Leyden CDS).
Origin of the name
Jean-François Champollion (1790-1832) is the French Egyptologist who deciphered Egyptian hieroglyphs in 1822 thanks to the Rosetta Stone. He moved an opaque symbol system to a rigorous grammatical reading by combining phonetic signs and ideograms.
See lien:https://en.wikipedia.org/wiki/Jean-Fran%C3%A7ois_Champollion[Wikipedia — Jean-François Champollion].
The metaphor is direct: decoding arbitrary JSON and translating it into typed Java objects is exactly deciphering a sequence of symbols to make it intelligible. Champollion (the module) reads JSON structures, just as Champollion (the man) read royal cartouches.
At a glance
Implemented specs |
|
Repo |
|
Java |
25 (LTS) |
JPMS modules |
|
Runtime dependencies |
None outside Jakarta specs — no transitive baggage |
TCK JSON-P 2.1 |
178 / 179 PASS (99.4%) — details here |
TCK JSON-B 3.0 |
Baseline run in progress — see detailed status |
Performance |
On par with Yasson, ~2.5× slower than Parsson on streaming, ~3-4× slower than Jackson on binding (production-ready band) — see lien:https://codeberg.org/Vidocq/champollion/src/branch/main/BENCH.md[BENCH.md] |
Quick links
-
Getting started —
Json.createReader,JsonbBuilder.create() -
Usage — streaming, object model, Patch / Pointer,
JsonbConfig, adapters -
Concepts — JSON-P and JSON-B vocabulary
-
Internals — APT codegen, Class-File API, parser pipeline
-
TCK status — official JSON-P 2.1 + JSON-B 3.0 coverage
-
Reference — public API, annotations, JPMS
-
Migration — from Parsson, Yasson or Jackson