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.
2025
979-8-4007-1919-6
File in questo prodotto:
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.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11563/201596
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 0
  • ???jsp.display-item.citation.isi??? ND
social impact