Vai al contenuto
SDETRole
SDETRole

JSON e dati

Validatore JSON Schema

Valida JSON con schemi draft 2020-12 o draft-07, oppure generane uno.

Funziona interamente nel tuo browser Senza registrazione

Schema · 2020-12

JSON data

Paste a schema and some data, or load the sample

No schema yet? Paste a known-good response as data and click “Generate schema from data” to get a starting point.

Informazioni sullo strumento

La validazione con schema trasforma “la risposta sembra giusta” in un controllo di contratto ripetibile: campi obbligatori, tipi, formati, enum e struttura degli array. Questo validatore usa Ajv, la stessa libreria di molte suite di test JavaScript, con ajv-formats per i controlli di email, date-time, uuid e uri. Ogni errore è elencato con il percorso nell’istanza (/items/1/qty) e un messaggio chiaro, e vengono riportati tutti gli errori, non solo il primo. Se non hai ancora uno schema, incolla una risposta corretta e genera uno schema di partenza, poi rendilo più restrittivo a mano.

Come si usa

  1. Incolla lo schema a sinistra e i dati JSON a destra, oppure carica lo schema d’esempio di un ordine con i dati volutamente errati.
  2. Lascia la versione su “Auto” per seguire la parola chiave $schema dello schema, oppure forza 2020-12 o draft-07.
  3. Correggi gli errori elencati; il risultato si aggiorna mentre scrivi.
  4. Per iniziare un nuovo schema, incolla una risposta reale come dati e clicca “Generate schema from data”.

Validatore JSON Schema: domande frequenti

Meglio il draft 2020-12 o il draft-07?

Usa quello supportato dagli altri tuoi strumenti. OpenAPI 3.1 è allineato al 2020-12, mentre molti validatori più vecchi e gli strumenti per OpenAPI 3.0 sono più vicini al draft-07. Le differenze più visibili sono gli array tupla (prefixItems nel 2020-12, items come array nel draft-07) e $defs al posto di definitions.

Quanto è affidabile lo schema generato?

È un punto di partenza dedotto da un solo esempio: tipi, oggetti annidati, struttura degli elementi degli array, formati di stringa comuni e ogni chiave presente nell’esempio marcata come obbligatoria. Non può sapere quali campi sono opzionali, quali valori sono enum né quali sono i limiti numerici, quindi rivedilo prima di usarlo come contratto.

Perché un’email non valida viene accettata?

La parola chiave “format” viene applicata solo se il validatore abilita i controlli di formato. Questo strumento li abilita tramite ajv-formats; se il tuo framework di test non lo fa, aggiungi anche lì il plugin dei formati, altrimenti gli stessi dati passeranno.

Scrivi per cercare in tutto SDETRole.

Ricerca full-text con Pagefind · funziona nel tuo browser Apri la pagina di ricerca →