logo
GeekFormat

Validatore di Schema JSON

Raccomandazioni correlate

Funzionalità

  • Validazione standard Draft-07: segue completamente la specifica JSON Schema Draft-07, supportando una validazione completa delle regole di base inclusi tipi, campi obbligatori, proprietà, regex, formati ed enum
  • Potente logica di combinazione: supporta parole chiave di combinazione avanzate come allOf, anyOf, oneOf, not — gestendo facilmente strutture nidificate complesse e scenari di validazione a vincoli multipli
  • Localizzazione precisa degli errori: fornisce percorsi di errore dettagliati e messaggi di errore semantici, aiutando sviluppatori e tester a localizzare rapidamente conflitti di contratto API e anomalie di struttura dati
  • Test di contratto API: perfettamente adattato per il debug di interfacce frontend-backend e test di contratto automatizzati, garantendo che i dati di risposta effettivi corrispondano strettamente allo schema definito nella documentazione API
  • Elaborazione locale veloce: computazione pura lato browser, nessun caricamento su server necessario, garantendo strutture di dati aziendali sensibili e privacy dei dati di test con elaborazione ultra-veloce senza latenza

Domande frequenti

Come validare i dati di risposta API usando JSON Schema?

Incolla semplicemente la tua definizione di schema JSON prevista a sinistra e il JSON effettivo della risposta API a destra. Lo strumento confronta automaticamente entrambe le strutture, validando con precisione tipi di dati, campi obbligatori, pattern regex e altro. Questo è un passaggio essenziale per i test di contratto API e garantire la coerenza delle strutture dati frontend-backend.

Quali standard e regole di validazione JSON Schema sono supportati?

Lo strumento segue completamente lo standard JSON Schema Draft-07. Supporta verifica di base dei tipi (type), campi obbligatori (required), definizioni di proprietà (properties), corrispondenza di pattern regex (pattern), validazione del formato (format), valori enum (enum) e una potente validazione di logica di combinazione (allOf, anyOf, oneOf, not).

Come localizzare rapidamente gli errori quando la validazione fallisce?

Quando i dati JSON non corrispondono allo schema, lo strumento genera un rapporto di errori estremamente dettagliato. Indica con precisione il percorso JSON non valido, il tipo di errore specifico (come incompatibilità di tipo o campo obbligatorio mancante) e la regola di schema corrispondente — migliorando notevolmente l'efficienza del debug per lo sviluppo backend e la pulizia dei dati.

Come utilizzare JSON Schema per la governance automatizzata dei dati?

Prima della pulizia dei dati ETL o dell'ingestione dei dati, puoi utilizzare questo strumento per verificare se i dati sono conformi alle specifiche di schema predefinite. Questo intercetta efficacemente dati sporchi e anomalie, garantendo la qualità dei dati che entrano nei database o nei sistemi downstream — un passaggio cruciale per costruire pipeline dati robuste.

La validazione online di Schema JSON esporrà i miei dati privati?

No. Tutta l'elaborazione del Validatore di Schema JSON avviene completamente nel tuo browser localmente. Che si tratti di strutture di dati API aziendali principali o dati di business personali, nulla viene mai caricato su alcun server, garantendo protezione della privacy di livello enterprise per i tuoi dati.

Foglio di Riferimento delle Parole Chiave di JSON Schema

La tabella seguente elenca le parole chiave di validazione più utilizzate nella specifica JSON Schema, organizzate per categoria per una consultazione rapida.

Parola ChiaveDescrizione
Tipi Base
typeSpecifica il tipo di dati: string, number, integer, boolean, array, object, null. Supporta un tipo singolo o un array di tipi.
Validazione degli Oggetti
propertiesDefinisce sub-schemi per le proprietà dell'oggetto.
requiredArray di stringhe che specifica quali proprietà sono obbligatorie.
additionalPropertiesControlla se sono consentite proprietà extra non definite in properties; può essere false o uno schema.
propertyNamesSchema che i nomi delle proprietà devono soddisfare (comunemente usa regex pattern).
minPropertiesNumero minimo di proprietà che un oggetto deve contenere.
maxPropertiesNumero massimo di proprietà che un oggetto può contenere.
Enum e Costanti
enumArray di valori consentiti; i dati devono essere esattamente un valore dell'array.
constValore costante; i dati devono essere strettamente uguali a questo valore.
Vincoli Numerici
minimumValore numerico minimo (inclusivo).
maximumValore numerico massimo (inclusivo).
exclusiveMinimumIl valore deve essere strettamente maggiore di (esclusivo).
exclusiveMaximumIl valore deve essere strettamente minore di (esclusivo).
multipleOfIl valore deve essere un multiplo del numero specificato.
Vincoli sulle Stringhe
minLengthLunghezza minima della stringa.
maxLengthLunghezza massima della stringa.
patternEspressione regolare; la stringa deve corrispondere a questo pattern.
formatValidazione del formato semantico: email, uri, date-time, uuid, ipv4, ipv6, hostname, ecc.
Vincoli sugli Array
itemsSchema per gli elementi dell'array (un singolo schema si applica a tutti gli elementi).
minItemsNumero minimo di elementi nell'array.
maxItemsNumero massimo di elementi nell'array.
uniqueItemsSe gli elementi dell'array devono essere unici.
containsAlmeno un elemento dell'array deve corrispondere a questo schema.
Logica Combinatoria
allOfI dati devono corrispondere a tutti i sub-schemi (AND logico).
anyOfI dati devono corrispondere ad almeno un sub-schema (OR logico).
oneOfI dati devono corrispondere a esattamente un sub-schema (XOR).
notI dati NON devono corrispondere a questo schema (NOT logico).
Validazione Condizionale
ifSchema condizionale; se i dati corrispondono a if, devono soddisfare then; altrimenti devono soddisfare else.
thenSchema da soddisfare quando la condizione if è vera.
elseSchema da soddisfare quando la condizione if non è vera.
Riferimenti e Riuso
$refRiferisce ad altre definizioni di schema; supporta riferimenti locali (#/$defs/xxx) e riferimenti remoti.
$defsDefinisce sub-schemi riutilizzabili (Draft 2019-09+; le versioni precedenti usano definitions).
definitionsParola chiave per sub-schemi riutilizzabili nel Draft 4-7.
Metadati
titleTitolo dello schema (annotazione, non validato).
descriptionDescrizione dello schema (annotazione, non validato).
defaultValore predefinito (annotazione, non validato).
examplesArray di valori di esempio (annotazione, non validato).
$schemaSpecifica la versione della specifica JSON Schema in uso.
Dipendenze
dependentRequiredDipendenza di proprietà: quando una proprietà esiste, altre proprietà devono esistere anch'esse (Draft 2019-09+).
dependenciesParola chiave di dipendenza nel Draft 4-7 che copre sia dipendenze di proprietà che di schemi.

Confronto tra Versioni di JSON Schema

JSON Schema si è evoluto attraverso molteplici versioni Draft. Draft 7 è attualmente la versione più utilizzata; Draft 2020-12 è l'ultima versione stabile.

FunzionalitàDraft 4Draft 6Draft 72019-092020-12
validazione dei tipi
campi obbligatori
enum/const✓ enum
minimum/maximum
exclusiveMinimum/Maximumbooleanonumeronumeronumeronumero
multipleOf
minLength/maxLength
regex pattern
validazione dei formatisolo annotazione per impostazione predefinitasolo annotazione per impostazione predefinita
array items
contains
minItems/maxItems
uniqueItems
additionalProperties
propertyNames
allOf/anyOf/oneOf/not
if/then/else
riferimenti $ref
riuso $defsdefinitionsdefinitionsdefinitions$defs$defs
dependentRequired
tuple prefixItemsforma arrayforma arrayforma arrayforma arrayprefixItems
unevaluatedProperties
$dynamicRef/$anchor✓ $recursiveRef✓ dynamicRef