Champollion est l’implémentation Jakarta JSON Processing 2.1 + JSON Binding 3.0 de l’écosystème Vidocq. Zéro dépendance hors specs, JPMS strict, virtual threads, et bindings JSON-B générés à la compilation par APT — pas de réflexion à chaud, compatible AOT (GraalVM, Leyden CDS).
Origine du nom
Jean-François Champollion (1790-1832) est l’égyptologue français qui a déchiffré les hiéroglyphes égyptiens en 1822 grâce à la pierre de Rosette. Il a su passer d’un système de symboles opaque à une lecture grammaticale rigoureuse, en composant signes phonétiques et idéogrammes.
Voir lien:https://fr.wikipedia.org/wiki/Jean-Fran%C3%A7ois_Champollion[Wikipédia — Jean-François Champollion].
La métaphore est directe : décoder du JSON arbitraire et le traduire en objets Java typés, c’est exactement déchiffrer une suite de symboles pour la rendre intelligible. Champollion (le module) lit les structures JSON, et Champollion (l’homme) lisait les cartouches royaux.
En un coup d’œil
Specs implémentées |
|
Repo |
|
Java |
25 (LTS) |
Modules JPMS |
|
Dépendances runtime |
Aucune hors specs Jakarta — pas de dépendance transitive |
TCK JSON-P 2.1 |
178 / 179 PASS (99,4 %) — détails ici |
TCK JSON-B 3.0 |
Premier run baseline en cours — voir état détaillé |
Performance |
Comparable à Yasson, ~2,5× plus lent que Parsson sur le streaming, ~3-4× plus lent que Jackson sur le binding (zone production-ready) — voir lien:https://codeberg.org/Vidocq/champollion/src/branch/main/BENCH.md[BENCH.md] |
Ressources rapides
-
Démarrage rapide —
Json.createReader,JsonbBuilder.create() -
Cas d’usage — streaming, object model, Patch / Pointer,
JsonbConfig, adapters -
Concepts — vocabulaire JSON-P et JSON-B
-
Fonctionnement interne — codegen APT, Class-File API, pipeline parser
-
État TCK — couverture officielle JSON-P 2.1 + JSON-B 3.0
-
Référence — API publique, annotations, JPMS
-
Migration — depuis Parsson, Yasson ou Jackson