JSON Schema validators are essential tools in the JSON ecosystem. However, today’s validators are primarily designed to be used pro-grammatically. Even web-based tools are not didactic in their feedback regarding the oftentimes subtle interactions between schemas and JSON instances. We present JTutor, a validation framework specifically designed with humans in mind, that lets users explore the mutual dependencies between a schema and a candidate instance in JSON Schema validation: Users explore schemas and candidate instances interactively, by navigating between subschemas and the JSON instance based on a detailed proof tree that is generated by a well-principled and rule-based validator. JTutor comes with a “Smart Format” feature that generates a focused view of the proof tree. “Smart Format” highlights branches that are relevant for understanding why an instance is valid or invalid, while deemphasizing others. This focused view can serve as an explanation of the validation. Although JTutor is designed to be educational, it can also help developers debug schemas. In this paper, we explain the internals of JTutor and demonstrate the tool itself.
JTutor: JSON Schema Validation Explained
Colazzo D.;Ghelli G.;Sartiani C.;
2025-01-01
Abstract
JSON Schema validators are essential tools in the JSON ecosystem. However, today’s validators are primarily designed to be used pro-grammatically. Even web-based tools are not didactic in their feedback regarding the oftentimes subtle interactions between schemas and JSON instances. We present JTutor, a validation framework specifically designed with humans in mind, that lets users explore the mutual dependencies between a schema and a candidate instance in JSON Schema validation: Users explore schemas and candidate instances interactively, by navigating between subschemas and the JSON instance based on a detailed proof tree that is generated by a well-principled and rule-based validator. JTutor comes with a “Smart Format” feature that generates a focused view of the proof tree. “Smart Format” highlights branches that are relevant for understanding why an instance is valid or invalid, while deemphasizing others. This focused view can serve as an explanation of the validation. Although JTutor is designed to be educational, it can also help developers debug schemas. In this paper, we explain the internals of JTutor and demonstrate the tool itself.| File | Dimensione | Formato | |
|---|---|---|---|
|
JTutor_CRV.pdf
solo utenti autorizzati
Tipologia:
Documento in Pre-print
Licenza:
Versione editoriale
Dimensione
909.22 kB
Formato
Adobe PDF
|
909.22 kB | Adobe PDF | Visualizza/Apri Richiedi una copia |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.


