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 Chiave | Descrizione |
|---|---|
| Tipi Base | |
type | Specifica il tipo di dati: string, number, integer, boolean, array, object, null. Supporta un tipo singolo o un array di tipi. |
| Validazione degli Oggetti | |
properties | Definisce sub-schemi per le proprietà dell'oggetto. |
required | Array di stringhe che specifica quali proprietà sono obbligatorie. |
additionalProperties | Controlla se sono consentite proprietà extra non definite in properties; può essere false o uno schema. |
propertyNames | Schema che i nomi delle proprietà devono soddisfare (comunemente usa regex pattern). |
minProperties | Numero minimo di proprietà che un oggetto deve contenere. |
maxProperties | Numero massimo di proprietà che un oggetto può contenere. |
| Enum e Costanti | |
enum | Array di valori consentiti; i dati devono essere esattamente un valore dell'array. |
const | Valore costante; i dati devono essere strettamente uguali a questo valore. |
| Vincoli Numerici | |
minimum | Valore numerico minimo (inclusivo). |
maximum | Valore numerico massimo (inclusivo). |
exclusiveMinimum | Il valore deve essere strettamente maggiore di (esclusivo). |
exclusiveMaximum | Il valore deve essere strettamente minore di (esclusivo). |
multipleOf | Il valore deve essere un multiplo del numero specificato. |
| Vincoli sulle Stringhe | |
minLength | Lunghezza minima della stringa. |
maxLength | Lunghezza massima della stringa. |
pattern | Espressione regolare; la stringa deve corrispondere a questo pattern. |
format | Validazione del formato semantico: email, uri, date-time, uuid, ipv4, ipv6, hostname, ecc. |
| Vincoli sugli Array | |
items | Schema per gli elementi dell'array (un singolo schema si applica a tutti gli elementi). |
minItems | Numero minimo di elementi nell'array. |
maxItems | Numero massimo di elementi nell'array. |
uniqueItems | Se gli elementi dell'array devono essere unici. |
contains | Almeno un elemento dell'array deve corrispondere a questo schema. |
| Logica Combinatoria | |
allOf | I dati devono corrispondere a tutti i sub-schemi (AND logico). |
anyOf | I dati devono corrispondere ad almeno un sub-schema (OR logico). |
oneOf | I dati devono corrispondere a esattamente un sub-schema (XOR). |
not | I dati NON devono corrispondere a questo schema (NOT logico). |
| Validazione Condizionale | |
if | Schema condizionale; se i dati corrispondono a if, devono soddisfare then; altrimenti devono soddisfare else. |
then | Schema da soddisfare quando la condizione if è vera. |
else | Schema da soddisfare quando la condizione if non è vera. |
| Riferimenti e Riuso | |
$ref | Riferisce ad altre definizioni di schema; supporta riferimenti locali (#/$defs/xxx) e riferimenti remoti. |
$defs | Definisce sub-schemi riutilizzabili (Draft 2019-09+; le versioni precedenti usano definitions). |
definitions | Parola chiave per sub-schemi riutilizzabili nel Draft 4-7. |
| Metadati | |
title | Titolo dello schema (annotazione, non validato). |
description | Descrizione dello schema (annotazione, non validato). |
default | Valore predefinito (annotazione, non validato). |
examples | Array di valori di esempio (annotazione, non validato). |
$schema | Specifica la versione della specifica JSON Schema in uso. |
| Dipendenze | |
dependentRequired | Dipendenza di proprietà: quando una proprietà esiste, altre proprietà devono esistere anch'esse (Draft 2019-09+). |
dependencies | Parola 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 4 | Draft 6 | Draft 7 | 2019-09 | 2020-12 |
|---|---|---|---|---|---|
| validazione dei tipi | ✓ | ✓ | ✓ | ✓ | ✓ |
| campi obbligatori | ✓ | ✓ | ✓ | ✓ | ✓ |
| enum/const | ✓ enum | ✓ | ✓ | ✓ | ✓ |
| minimum/maximum | ✓ | ✓ | ✓ | ✓ | ✓ |
| exclusiveMinimum/Maximum | booleano | numero | numero | numero | numero |
| multipleOf | ✓ | ✓ | ✓ | ✓ | ✓ |
| minLength/maxLength | ✓ | ✓ | ✓ | ✓ | ✓ |
| regex pattern | ✓ | ✓ | ✓ | ✓ | ✓ |
| validazione dei formati | ✓ | ✓ | ✓ | solo annotazione per impostazione predefinita | solo annotazione per impostazione predefinita |
| array items | ✓ | ✓ | ✓ | ✓ | ✓ |
| contains | ✗ | ✓ | ✓ | ✓ | ✓ |
| minItems/maxItems | ✓ | ✓ | ✓ | ✓ | ✓ |
| uniqueItems | ✓ | ✓ | ✓ | ✓ | ✓ |
| additionalProperties | ✓ | ✓ | ✓ | ✓ | ✓ |
| propertyNames | ✗ | ✓ | ✓ | ✓ | ✓ |
| allOf/anyOf/oneOf/not | ✓ | ✓ | ✓ | ✓ | ✓ |
| if/then/else | ✗ | ✗ | ✓ | ✓ | ✓ |
| riferimenti $ref | ✓ | ✓ | ✓ | ✓ | ✓ |
| riuso $defs | definitions | definitions | definitions | $defs | $defs |
| dependentRequired | ✗ | ✗ | ✗ | ✓ | ✓ |
| tuple prefixItems | forma array | forma array | forma array | forma array | prefixItems |
| unevaluatedProperties | ✗ | ✗ | ✗ | ✓ | ✓ |
| $dynamicRef/$anchor | ✗ | ✗ | ✗ | ✓ $recursiveRef | ✓ dynamicRef |
- Compressione JSON
- CSV in JSON
- JSON to CSV
- JSON Diff
- JSON Escape / Unescape
- Appiattimento JSON
- Formattatore JSON
- Generatore JSON
- Query JSONPath
- Unire JSON
- Riparare JSON
- Validatore di Schema JSON
- Ordinare JSON
- JSON Stringify
- JSON in HTML
- JSON in Java
- JSON to Markdown
- JSON in SQL
- JSON in TOML
- JSON in TypeScript
- XML in JSON
- JSON in XML
- YAML in JSON
- Da JSON a YAML
- JSON in Python
- JSON in Go
- JSON in Rust
- JSON in Swift
- JSON a C#
- JSON a C++
- JSON to PHP