DT Dev Tools

Generatore di JSON Schema

Genera localmente uno JSON Schema draft-07 da un esempio JSON. Il generatore gratuito deduce tipi, proprietà, campi obbligatori e schemi degli elementi degli array, senza upload.

🔒 Funziona interamente nel tuo browser — nulla viene caricato

Advertisement

Cosa fa il Generatore di JSON Schema

Il Generatore di JSON Schema legge un esempio JSON e produce uno schema draft-07 in grado di validare documenti con la stessa struttura. Percorre il valore in modo ricorsivo: gli oggetti diventano uno schema con una mappa properties e un array required, gli array diventano uno schema con una definizione items e i valori primitivi sono descritti con il relativo type di JSON Schema. Il risultato è un contratto portabile che puoi inserire nella documentazione delle API, nei middleware di validazione delle richieste, nei caricatori di configurazione, nei contract test o negli strumenti dell'editor che offrono autocompletamento e validazione in linea a partire da uno schema.

Gli array vengono riassunti e non enumerati. Quando un array contiene oggetti, tutti gli elementi vengono uniti in modo che lo schema items generato copra l'unione delle chiavi, e una chiave assente in alcuni elementi viene esclusa dall'elenco dei campi obbligatori. Quando un array mescola tipi primitivi diversi, il generatore produce un anyOf così che ogni tipo osservato resti valido. Generare lo schema da un esempio è il modo più rapido per avviare uno schema da rifinire poi a mano, invece di scrivere da zero definizioni di tipo annidate.

Flusso di lavoro privato nel browser

Tutto il parsing e la costruzione dello schema avvengono nel tuo browser con JavaScript lato client. Lo strumento non carica su alcun server il tuo JSON, le risposte delle API, la configurazione, gli identificatori o esempi simili ai dati dei clienti e non richiede alcun account. Questo funzionamento esclusivamente locale è importante perché l'input di un generatore di schemi è spesso un payload reale catturato durante il debug di un servizio. Mantenere il lavoro sul tuo computer riduce i rischi e rende il risultato istantaneo, perché nulla lascia la pagina.

L'interfaccia tiene affiancati l'input JSON e lo schema generato, così puoi verificare il risultato prima di copiarlo. Uno schema generato da un solo esempio è un punto di partenza, non un contratto definitivo: un singolo esempio non può rivelare ogni proprietà opzionale, valore enum, vincolo di formato o intervallo numerico ammesso dal tuo dominio, quindi amplia e restringi lo schema usando conoscenze che l'esempio non contiene.

Consigli pratici

Usa l'esempio più completo a disposizione, con campi opzionali valorizzati e array con più di un elemento, in modo che la logica di unione possa descrivere con precisione le unioni di tipi. Dopo la generazione, rifinisci lo schema: aggiungi parole chiave format come email, uri o date-time dove opportuno, aggiungi elenchi enum per i campi con un insieme fisso di valori, imposta minimum e maximum sui numeri ed elimina dall'array required i campi che possono legittimamente mancare. Convalida lo schema finale con diversi documenti reali, usando il validatore che preferisci, prima di utilizzarlo in produzione: la generazione nel browser è ideale per una prima bozza rapida e accurata.

Come usare

  1. Incolla il JSONAggiungi un oggetto, un array o un valore JSON rappresentativo.
  2. GeneraProduci uno schema draft-07 che descriva l'esempio.
  3. Copia o scaricaControlla lo schema, poi copialo o scarica un file .json.

Domande frequenti

Quale versione di JSON Schema viene prodotta?
Il generatore produce schemi draft-07 con il relativo identificatore $schema.
Come vengono scelte le proprietà obbligatorie?
Ogni chiave presente nell'oggetto di esempio viene inserita tra quelle obbligatorie. Rimuovi dall'array required le chiavi opzionali.
Il mio JSON viene caricato?
No. La generazione dello schema avviene interamente nel tuo browser con JavaScript lato client.
Advertisement