Validatore di JSON Schema
JSON Schema Validator
Valida un documento rispetto a un JSON Schema e riporta ogni errore con il percorso dell’istanza.
Convalida un documento JSON rispetto a uno JSON Schema, draft 2020-12, interamente nel browser. Supera tutti i 1.299 test obbligatori della JSON-Schema-Test-Suite ufficiale, e ogni errore viene riportato con la posizione nell’istanza e la parola chiave che lo ha prodotto.
Schema (draft 2020-12)
Dati da validare
Risultato
Verdetto
Non valido
Fallimenti
3
| Posizione nell’istanza | Parola chiave | Problema |
|---|---|---|
| /port | maximum | deve essere al massimo 65535 |
| /tags | uniqueItems | gli elementi 0 e 1 sono uguali |
| /debug | false | non è mai valido qui (lo schema è false) |
$ref si risolve dentro lo schema, dentro i documenti aggiuntivi incollati e dentro i meta-schemi 2020-12 inclusi: i riferimenti remoti vengono rifiutati invece che scaricati, quindi un verdetto non dipende mai dalla rete. format viene riportato come annotazione e non imposto, che è il comportamento predefinito di 2020-12.Come si usa
Incollare lo schema e i dati
Entrambe le caselle rivalidano mentre si digita. Un errore di sintassi nell’una o nell’altra viene segnalato a parte, così si sa quale lato è rotto.
Aggiungere i documenti riferiti se ci sono dei `$ref`
Basta accendere Schemi aggiuntivi e incollarli — un documento solo oppure un array di documenti, ciascuno con il suo `$id`. Non viene scaricato niente dalla rete, quindi anche uno schema diviso su più file si convalida qui.
Leggere la tabella degli errori
Ogni riga dà il percorso nell’istanza, la parola chiave che è fallita e che cosa voleva. Se il tutto va incollato in una issue, conviene copiarlo come JSON.
Domande frequenti
Perché il mio `"format": "email"` non viene applicato?
Perché la 2020-12 rende `format` un’annotazione per impostazione predefinita: un validatore può riportarlo senza controllarlo, e quasi tutti fanno esattamente così. Se serve che venga applicato, si usa `pattern`, oppure un validatore configurato con il vocabolario format-assertion.
Un `$ref` remoto non si è risolto.
I riferimenti remoti vengono rifiutati, non scaricati. Un validatore che va in rete dà risultati che dipendono dal DNS e dalla disponibilità di qualcun altro, e dice a quel qualcuno quali schemi si stanno convalidando. Il documento riferito va incollato invece nella casella degli schemi aggiuntivi.
Quali draft sono supportati?
La 2020-12. Uno schema Draft-07 spesso si convalida lo stesso — quasi tutte le parole chiave sono invariate — ma `definitions` non è `$defs`, `items` significa un’altra cosa per le tuple, e `$recursiveRef` non c’è più. Meglio controllare la riga `$schema` prima di darlo per scontato.
Perché tanti errori per un solo campo sbagliato?
Perché un errore dentro `anyOf`, `oneOf` o `allOf` riporta ogni ramo che è fallito: è quello che la specifica dice che contiene un’unità di output. La prima riga di solito è quella che interessa; le altre spiegano perché non ha funzionato nemmeno una delle alternative.
Può ricevere da
Formattatore e validatore YAML
YAML Formatter & Validator
Riporta il YAML a un’indentazione coerente, lo valida e segnala gli errori di tabulazione e di ancora che rompono i parser.
Conversione JSON ⇄ YAML
JSON ⇄ YAML
Converte nei due sensi conservando l’ordine delle chiavi e scegliendo per il lato YAML lo stile a blocchi o quello in linea.
Da JSON a schema Zod
JSON to Zod Schema
Costruisce uno schema Zod da un esempio JSON, deducendo nullable, optional ed enumerazioni.
Da JSON a JSON Schema
JSON to JSON Schema
Deduce un JSON Schema da uno o più esempi, unendo le forme che incontra.
Dopo
Questi accettano ciò che produce questo strumento, così il risultato può passare direttamente.
Formattatore e validatore JSON
JSON Formatter & Validator
Formatta, minifica e valida il JSON, indicando riga e colonna esatte di un errore di sintassi.
Da JSON a JSON Schema
JSON to JSON Schema
Deduce un JSON Schema da uno o più esempi, unendo le forme che incontra.
Controllo di qualità di un OpenAPI
OpenAPI Linter
Controlla in un documento OpenAPI le risposte mancanti, gli schemi inutilizzati, i riferimenti che non puntano a niente e gli altri difetti che rompono i generatori di codice.
Formattatore e validatore YAML
YAML Formatter & Validator
Riporta il YAML a un’indentazione coerente, lo valida e segnala gli errori di tabulazione e di ancora che rompono i parser.
Conversione JSON ⇄ CSV
JSON ⇄ CSV
Appiattisce il JSON annidato in colonne o ricostruisce gli oggetti da una tabella, con i nomi di colonna a percorso puntato.
Confronto fra due JSON
JSON Diff
Confronta due documenti JSON per struttura, ignorando l’ordine delle chiavi e riportando i percorsi aggiunti, tolti e cambiati.