Champollion is the Jakarta JSON Processing 2.1 + JSON Binding 3.0 implementation of the Vidocq ecosystem. Zero dependency outside specs, strict Java Modules, 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.
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) |
Java modules |
|
Runtime dependencies |
None outside Jakarta specs — no transitive baggage |
TCK JSON-P 2.1 |
179 / 179 PASS (100%), pluggability suite 18/18 — run of 2026-06-16, details here |
TCK JSON-B 3.0 |
290 / 295 PASS, 0 FAIL (the 5 SKIP are disabled upstream inside the TCK itself) — run of 2026-06-16, see detailed status |
Performance |
JSON-P streaming beats Parsson on MEDIUM (1.17×) and LARGE (1.08×) payloads (SMALL at 0.66×, per-parse fixed costs); JSON-B reads ~40% faster than Yasson on MEDIUM, writes ~Yasson-level and ~3-4× slower than Jackson (P13 run, 2026-06-12) — see 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, Java Modules
-
Migration — from Parsson, Yasson or Jackson