Valida JSON contro JSON Schema (Draft 7 / 2020-12), YAML e OpenAPI 3.x in tempo reale. Errori spiegati chiaramente con suggerimenti di fix integrati.
Inserisci schema e dati, poi clicca Valida o usa Ctrl+Enter
Incolla il tuo JSON Schema nel pannello sinistro e i dati JSON da validare nel pannello destro. Il tool evidenzia in tempo reale gli errori di validazione con il percorso esatto del campo non valido (es. $.user.age: deve essere number, trovato string). Supporta JSON Schema Draft 7 e 2020-12, le due versioni più diffuse. La validazione avviene nel browser con la libreria Ajv — nessun dato lascia il tuo dispositivo.
Draft 7 è il più compatibile: supportato nativamente da quasi tutti gli strumenti, ORM, e framework di validazione. Usa definitions per tipi riutilizzabili. Draft 2020-12 (l'ultimo standard) introduce: $dynamicRef/$dynamicAnchor per riferimenti ricorsivi complessi, prefixItems per array tipizzati con elementi in posizioni fisse, unevaluatedProperties per schema compositi, e usa $defs al posto di definitions. Per nuovi progetti usa 2020-12; per compatibilità massima usa Draft 7.
I problemi più frequenti: type mismatch — un campo atteso come number riceve una stringa (tipico con dati da form HTML dove tutto è stringa); required mancante — campo obbligatorio assente nel payload; additionalProperties — il payload ha campi extra non previsti dallo schema; enum non rispettato — il valore non è tra quelli consentiti; format non valido — email o date-time con formato sbagliato. Il validator mostra il percorso JSON di ogni errore per facilitare il debug.
Il validator è usato per: contract testing — verificare che la risposta di un'API esterna rispetti il contratto atteso prima di usarla nel codice; CI/CD — validare file di configurazione (Kubernetes manifests, package.json, configurazioni CI) in pipeline automatizzate; documentazione API — testare esempi di request/response durante la scrittura della documentazione OpenAPI; migrazione dati — verificare che i dati trasformati rispettino il nuovo schema prima dell'import.
JSON Schema è lo standard indipendente dal linguaggio — funziona ovunque. OpenAPI usa JSON Schema come base ma aggiunge metadati specifici per API REST (operazioni, parametri, autenticazione). Zod è TypeScript-first: definisci lo schema in codice TS e ottieni type inference automatica — ideale per applicazioni TypeScript. Joi è la scelta storica nell'ecosistema Node.js, con API fluente. Usa JSON Schema quando hai bisogno di interoperabilità tra linguaggi o sistemi; usa Zod/Joi per validazione server-side in Node.js con TypeScript.
Sì. Nella modalità OpenAPI puoi incollare uno schema OpenAPI 3.x (la sezione sotto components/schemas) e validare un payload JSON contro di esso. Per validare l'intero documento OpenAPI (non i dati) usa strumenti come Spectral o la validator ufficiale di Swagger.
Usa $defs (Draft 2020-12) o definitions (Draft 7) per tipi condivisi e referenziali con $ref: "#/$defs/NomeSchema". Esempio: definisci una volta il tipo Address nei $defs e riusalo in shippingAddress e billingAddress con $ref.
No. La validazione avviene interamente nel browser con Ajv. Puoi incollare dati riservati, payload con PII, o schemi con strutture proprietarie senza rischi.
Il tool accetta JSON Schema in formato JSON. YAML è supportato come formato dei dati da validare. Per usare uno schema scritto in YAML, convertilo prima in JSON con il tool YAML Formatter di questo sito.
I problemi più frequenti: type mismatch — un campo atteso come number riceve una stringa (tipico con dati da form HTML dove tutto è stringa); required field missing — un campo obbligatorio è assente o è null; additionalProperties — lo schema non permette campi extra ma il dato li contiene; pattern mismatch — una stringa non rispetta la regex definita (es. formato email o UUID); enum violation — il valore non è tra quelli dichiarati nell'array enum.
Il validator è usato per: verificare che la risposta di un'API esterna rispetti il contratto atteso prima di usarla; validare config file JSON prima del deploy; testare payload di webhook; documentare e validare i body di request/response durante lo sviluppo API; fare QA su export da CMS o database. Lo schema diventa documentazione eseguibile del contratto dati.
JSON Schema è lo standard indipendente dal linguaggio — funziona ovunque. OpenAPI usa JSON Schema come base ma aggiunge estensioni per API REST (operazioni, path, security). Zod (TypeScript) e Joi (JavaScript) sono librerie runtime con API fluente — più ergonomiche nel codice ma non interoperabili con altri linguaggi. Per API pubbliche e documentazione usa JSON Schema/OpenAPI; per validazione interna TypeScript, Zod è oggi lo standard de facto.
Usa $defs (Draft 2020-12) o definitions (Draft 7) per definire tipi condivisi e referenziali con $ref: "#/$defs/NomeSchema". Esempio: definisci Address una volta e riutilizzalo in Customer.shippingAddress e Customer.billingAddress senza duplicare. Questo mantiene lo schema DRY e facilita la manutenzione quando un tipo cambia.