Salta al contenuto principale

Incolla uno schema e un documento per vedere il risultato.

Come utilizzare Validatore JSON Schema

Incolla lo schema

Nel primo campo scrivi lo JSON Schema (draft-07, 2019-09 o 2020-12). Sono supportati i riferimenti locali $ref a $defs o definitions.

Incolla il documento

Nel secondo campo metti il JSON da controllare. Se non è JSON valido, ti indico riga e colonna del primo errore.

Leggi il percorso e la regola

Per ogni errore vedi il campo del documento (es. /utenti/1/eta), la regola dello schema che ha fallito e la spiegazione.

Suggerimenti

  • Se una regola oneOf fallisce con 0 rami validi, sotto trovi gli errori del ramo più vicino a passare.
  • Il numero 1.0 è un integer per JSON Schema: JSON non distingue 1 da 1.0.

Domande frequenti

Quali versioni di JSON Schema sono supportate?

Il nucleo comune a draft-07, 2019-09 e 2020-12: tipi, enum, const, required, properties, patternProperties, additionalProperties, items e prefixItems, limiti numerici e di lunghezza, pattern, format, allOf, anyOf, oneOf, not e if/then/else. Le parole chiave non supportate vengono elencate nel risultato, non ignorate in silenzio.

Perché i $ref esterni non funzionano?

Per scelta: scaricare uno schema da un indirizzo vorrebbe dire fare una richiesta di rete a partire dai tuoi dati. Lo strumento risolve solo i riferimenti locali (#/$defs/nome, #/definitions/nome, $anchor). Incolla nello schema le definizioni che ti servono.

Cosa significa il percorso di un errore?

È un puntatore JSON (RFC 6901): /utenti/1/eta è il campo eta del secondo elemento dell'array utenti. Lo schema ha un percorso analogo, che dice quale regola ha fallito.

Il formato (format) viene verificato?

Sì, per date, date-time, time, email, uuid, hostname, ipv4, ipv6 e uri. In JSON Schema 2020-12 format è di norma solo un'annotazione, quindi altri validatori possono non segnalarlo.

Un pattern può bloccare la pagina?

Alcune espressioni regolari possono impiegare un tempo enorme su certi testi. Lo strumento non esegue i pattern con quantificatori annidati, come (a+)+, e lo segnala; limita anche profondità, passaggi e numero di errori mostrati.

Vuoi approfondire?

Leggi i nostri articoli di approfondimento: