.json.Come funziona
Questo strumento legge un JSON di esempio e ne deduce la struttura per generare le classi o i tipi equivalenti nel linguaggio che scegli: C#, C++, Go, Java, JavaScript, Kotlin, PHP, Python, Rust o TypeScript.
Dalle chiavi e dai tipi dei valori del JSON deduce i nomi delle proprietà e i loro tipi (testo, numero, booleano, liste). Gli oggetti annidati diventano classi o tipi propri.
È un modo rapido per creare i modelli di dati per consumare un'API senza scriverli a mano. Puoi incollare il JSON o caricare un file; tutto viene elaborato nel tuo browser.
Esempi
{ "id": 1, "name": "Ada" }interface RootObject {
id: number;
name: string;
}Output in TypeScript: ogni proprietà riceve il tipo dedotto dal valore.{ "user": { "id": 1 } }Viene generata una classe o un tipo a parte per l'oggetto annidato "user".Gli oggetti dentro gli oggetti producono modelli propri, collegati da una proprietà.Casi d'uso
- Creare le classi di un client che consuma un'API a partire da una risposta JSON di esempio.
- Convertire un JSON di configurazione o di un webhook in tipi forti per il tuo linguaggio.
- Risparmiare il lavoro ripetitivo di digitare a mano modelli con molte proprietà.
Domande frequenti
Come decide il tipo di ogni proprietà?
Dal valore dell'esempio: "testo" è stringa, 36 è numero, true/false è booleano e [ ] è una lista del tipo dei suoi elementi. Per questo conviene usare un JSON con valori rappresentativi.
Cosa succede con un valore null?
Un null non porta informazioni sul tipo, quindi non può essere dedotto con certezza. Se una proprietà può essere nulla, includi un esempio con un valore reale e regola la nullabilità nel codice generato.
Genera modelli a partire da un array nella radice?
Sì. Prende il primo elemento dell'array come modello dell'oggetto e genera il modello di quell'elemento, che rappresenta l'intera lista.
I nomi generati rispettano la convenzione del linguaggio?
Sono derivati dalle chiavi del JSON, adattandole al linguaggio scelto. Controlla sempre il risultato, soprattutto se le chiavi hanno caratteri speciali o nomi riservati.