🌐 IT

🧬 Generatore di JSON Schema

Incolla dati JSON di esempio per ricavare automaticamente uno schema JSON draft-07. Rileva il tipo di ogni valore, segna come obbligatorie le chiavi degli oggetti e unisce gli schemi degli elementi degli array.

GUIDA

Scopri di piu

01

1. Che cos'è JSON Schema

JSON Schema è uno standard per descrivere la struttura, i tipi e i vincoli dei dati JSON. È ampiamente usato per validare richieste e risposte API, controllare file di configurazione e automatizzare la documentazione. Questo strumento genera una bozza di schema draft-07 a partire da un singolo esempio JSON, evitandoti di scriverne uno da zero a mano.

02

2. Regole di inferenza

Stringhe, interi, numeri decimali, booleani e null vengono mappati rispettivamente ai tipi string, integer, number, boolean e null. Gli oggetti ottengono le proprietà e segnano come required ogni chiave presente; gli array uniscono gli schemi di tutti gli elementi in items. Quando gli elementi dell'array hanno chiavi diverse, restano obbligatorie solo le chiavi presenti in ogni elemento.

03

3. Rifinire il risultato

L'inferenza automatica è solo un punto di partenza. Gli schemi reali di solito aggiungono format (email, date-time), min/max length, enum, pattern regex e correzioni per i campi opzionali. Gli input di grandi dimensioni sono limitati da un tetto di nodi per motivi di prestazioni, quindi crea una bozza da un campione rappresentativo e poi rifinisci i vincoli.

Domande frequenti

Quale versione di JSON Schema viene generata?
Uno schema draft-07. Il campo $schema è impostato su http://json-schema.org/draft-07/schema#.
Perché ogni chiave è segnata come required?
Una chiave presente nel campione viene inferita come sempre presente, quindi viene segnata come required. Rimuovi i campi opzionali dall'array required dopo la generazione.
Il mio JSON viene inviato a un server?
No. L'inferenza avviene interamente nel browser e i dati non vengono mai inviati a un server.
Cosa succede se gli elementi dell'array hanno forme diverse?
I loro schemi vengono uniti: solo le chiavi comuni restano required, e i tipi misti diventano un array di tipi (integer+number vengono unificati in number).