Vai al contenuto
100% locale

Convalidatore dello schema JSON

Confronta un documento JSON con uno schema JSON e ottieni un rapporto sugli errori leggibile riga per riga.

Ingresso
Schema JSON
Uscita

Convalidatore dello schema JSON

Incolla un documento JSON da un lato e uno schema JSON dall'altro e questo strumento ti dirà se il documento corrisponde e, in caso contrario, esattamente dove e perché. Ogni problema viene segnalato come una riga con il percorso del puntatore JSON al valore offensivo, la parola chiave dello schema che non è riuscita e il valore effettivo trovato lì, in modo da poter passare direttamente alla correzione invece di cercare manualmente un grande payload.

Il validatore copre il nucleo quotidiano dello schema JSON draft-07: "type" (inclusi array di unione come ["string","null"] per campi nullable), "required" e "properties", "additionalProperties" come schema booleano o proprio, "items" per la convalida sia dell'elenco che della tupla, "minItems"/"maxItems"/"uniqueItems", le parole chiave numeriche "minimum"/"maximum"/"exclusiveMinimum"/"exclusiveMaximum"/"multipleOf", le parole chiave stringa "minLength"/"maxLength"/"pattern", "enum" e "const" e i combinatori "anyOf"/"allOf"/"oneOf"/"not". Risolve anche i puntatori "$ref" alla sezione "#/definitions" o "#/$defs" di uno schema (utile per schemi che tengono conto della forma di un oggetto condiviso) e rileva un "$ref" che torna indietro su se stesso invece di bloccare la pagina.

Questo è un validatore, non un generatore di moduli basato su schema: non recupera uno schema da un URL o un "$id" e non lo farà mai, perché ciò significherebbe inviare i tuoi dati o la definizione dello schema dal tuo dispositivo. Qualsiasi "$ref" che punta all'esterno del documento viene segnalato come non supportato anziché ignorato silenziosamente, in modo da sapere sempre esattamente cosa è stato controllato e cosa non è stato controllato.

Tutto viene eseguito localmente nel tuo browser: il documento JSON e lo schema vengono analizzati e controllati sul tuo dispositivo e non vengono mai caricati da nessuna parte, il che rende sicuro l'utilizzo con payload API, file di configurazione o qualsiasi altro JSON che includa dati che preferiresti non incollare in un sito Web casuale.

FAQ

Quale bozza di schema JSON supporta?
Un sottoinsieme pratico di draft-07: tipo (inclusi array union e nullable), obbligatorio, proprietà, ulterioriProperties, elementi, minItems/maxItems/uniqueItems, le parole chiave numeriche e di stringa, enum/const, anyOf/allOf/oneOf/not e puntatori $ref locali in "#/definitions" o "#/$defs".
Può seguire un $ref in un altro file o URL?
No. Vengono risolti solo i puntatori locali a "#/definitions" o "#/$defs" dello stesso schema. Un $ref che punta altrove viene segnalato come non supportato anziché recuperato, poiché recuperare uno schema remoto significherebbe inviare dati dal dispositivo.
Cosa succede se il mio schema ha un $ref circolare?
Viene rilevato e segnalato come errore "$ref" invece di bloccare la scheda: il validatore tiene traccia dei riferimenti che sta attualmente seguendo e si ferma non appena uno si ripete.
Come viene segnalato ciascun errore?
Una riga per problema, con il percorso del puntatore JSON al valore (come "/user/age"), la parola chiave dello schema che non è riuscita (come "minimum" o "required") e il valore effettivo trovato lì.
Il mio documento JSON e il mio schema vengono caricati ovunque?
No. La convalida viene eseguita interamente nel tuo browser utilizzando il parser JSON integrato: né i dati né lo schema lasciano mai il tuo dispositivo e nessuno schema viene mai recuperato dalla rete.