Validatore Schema JSON

Valida dati JSON rispetto a definizioni di Schema JSON. Ottieni report dettagliati sugli errori con percorsi. Tutta l'elaborazione avviene nel tuo browser.

Validazione istantanea Dettagli errori Elaborazione lato client

Come utilizzare il validatore Schema JSON

1

Inserisci lo schema

Definisci il tuo Schema JSON che descrive la struttura attesa.

2

Inserisci i dati

Incolla i dati JSON che vuoi validare rispetto allo schema.

3

Valida

Clicca Valida e esamina i risultati per eventuali errori.

Cos'è JSON Schema?

JSON Schema è un vocabolario che permette di annotare e validare documenti JSON. Fornisce un contratto per quali dati JSON sono richiesti per una data applicazione e come interagire con essi. JSON Schema è utilizzato per validazione, documentazione e generazione di dati fittizi.

Caratteristiche principali

Validazione dei tipi

Valida tipi: stringa, numero, intero, booleano, array, oggetto, null

Vincoli

Lunghezza min/max, intervallo, pattern, campi obbligatori e altro

Definizione struttura

Definisci oggetti nidificati, array e strutture dati complesse

Domande frequenti

Quale versione di JSON Schema è supportata?

Questo strumento supporta JSON Schema Draft-07, Draft 2019-09 e Draft 2020-12 attraverso la libreria Ajv. La maggior parte delle funzionalità comuni degli schemi sono supportate.

Posso validare oggetti nidificati?

Sì! JSON Schema supporta oggetti e array profondamente nidificati. Puoi definire proprietà ed elementi a qualsiasi livello di nidificazione, con regole di validazione individuali per ogni campo.

Cosa succede se il mio schema non è valido?

Lo strumento verifica prima che il tuo schema sia esso stesso un JSON Schema valido. Se lo schema presenta errori, questi verranno segnalati prima di tentare di validare i dati.

Quali parole chiave di JSON Schema sono le più utilizzate?

type (string, number, object, array, boolean, null), properties con schemi annidati, required che elenca le chiavi obbligatorie, enum per insiemi fissi di valori, pattern per stringhe vincolate da espressioni regolari, e i controlli di intervallo minimum/maximum e minLength/maxLength. additionalProperties: false rende gli oggetti più restrittivi rispetto alle chiavi extra. Insieme coprono la gran parte delle regole di validazione delle API.

Come si comportano le parole chiave format come date-time ed email?

Nel JSON Schema moderno, format è un'annotazione per impostazione predefinita, non un'asserzione automatica - i validatori la applicano solo quando sono configurati per farlo, cosa che la specifica 2020-12 ha reso esplicita con un vocabolario separato per le asserzioni di formato. Usa pattern o una parola chiave personalizzata quando l'applicazione del vincolo deve essere garantita, e tratta format come metadato di interoperabilità negli altri casi.

Che cos'è $ref e come funziona il riutilizzo degli schemi?

$ref che punta a #/$defs/address fa riferimento a un frammento di schema sotto $defs e valida rispetto ad esso ovunque venga usato - è il meccanismo di deduplicazione. La bozza 2020-12 ha rinominato definitions in $defs e ha formalizzato $dynamicRef per le strutture ricorsive come gli alberi di commenti. I riferimenti possono puntare anche a documenti esterni, anche se è più comune il bundling locale.

In che cosa differiscono oneOf, anyOf e allOf?

allOf richiede che ogni sottoschema sia valido - un'intersezione, usata per comporre uno schema di base con vincoli aggiuntivi. anyOf ne richiede almeno uno - un'unione, usata per payload polimorfici. oneOf ne richiede esattamente uno; se due o zero sottoschemi risultano validi, la validazione fallisce, un comportamento più severo di quanto ci si aspetti e la causa abituale di errori sorprendenti con schemi sovrapposti.

Cosa è cambiato tra draft-07 e 2020-12?

2020-12 ha diviso la specifica in vocabolari negoziabili separatamente (validation, annotation, format-assertion), ha rinominato definitions in $defs, ha semplificato exclusiveMinimum in un semplice numero e ha sostituito la vecchia parola chiave items con prefixItems più items. La maggior parte degli strumenti supporta entrambe; draft-07 resta la più diffusa, ma 2020-12 è lo standard pubblicato attuale.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}