Come generare codice TypeScript o Python da JSON
Inserisci un JSON valido, scegli TypeScript o Python e avvia la generazione per ottenere la definizione corrispondente. Il risultato può contenere interfacce TypeScript o dataclass Python con tipi ricavati dai valori e dagli oggetti annidati.
Quando conviene partire da un JSON
JSON to Code è pensato per partire da dati JSON già disponibili e ricavarne una base tipizzata da usare in un progetto. Il risultato può essere espresso come interfacce TypeScript oppure come dataclass Python, così puoi scegliere la forma più adatta al linguaggio in cui stai lavorando. TypeScript è selezionato come linguaggio iniziale. La conversione segue la struttura e i valori presenti nel testo fornito, quindi è utile quando vuoi rendere leggibile la forma di un payload o di un esempio di risposta. Gli oggetti contenuti dentro altri oggetti ricevono tipi generati dedicati, che vengono poi richiamati dai campi corrispondenti.
Procedura per convertire il testo
-
Prepara il JSON che vuoi convertire. Può essere un oggetto o un altro valore JSON valido, ma non deve essere vuoto né formato soltanto da spazi. Prima di incollarlo, controlla che le stringhe siano racchiuse tra virgolette doppie e che parentesi, virgole e due punti rispettino la sintassi JSON.
-
Inserisci il testo nel controllo di input dello strumento. Il contenuto viene letto come JSON, non come testo libero: commenti, proprietà senza virgolette o virgole fuori posto possono impedire l’elaborazione. Se stai usando un esempio copiato da una risposta API, verifica anche che non includa un’intestazione o una spiegazione esterna al documento JSON.
-
Scegli il linguaggio di destinazione. Lasciando l’impostazione iniziale ottieni TypeScript; in alternativa puoi selezionare Python. Queste sono le due opzioni supportate per la generazione.
-
Imposta il nome radice se vuoi sostituire quello iniziale. Il valore predefinito è
Root, mentre un nome personalizzato ti consente di collegare il risultato al concetto rappresentato dai dati, per esempioProfilooOrdine. -
Avvia la generazione dopo aver ricontrollato input, linguaggio e nome. Se il testo è vuoto, contiene soltanto spazi, non è JSON valido oppure indica una lingua non supportata, l’elaborazione fallisce invece di produrre codice; correggi il dato o la selezione e ripeti l’operazione.
-
Conserva il risultato insieme al JSON di partenza durante la revisione. In questo modo puoi verificare che i nomi dei campi, la forma degli oggetti e i tipi riconosciuti corrispondano al caso che vuoi rappresentare, prima di adattare l’output al tuo progetto.
Cosa controllare nel codice restituito
Con un oggetto JSON, la scelta TypeScript porta a dichiarazioni di interfaccia con campi dedotti dai valori presenti nel documento. La scelta Python porta invece a dichiarazioni di dataclass, con campi ricavati dalla stessa struttura. Il formato del risultato cambia quindi insieme al linguaggio selezionato, anche quando l’input resta invariato.
Per i valori scalari, una stringa viene rappresentata come string in TypeScript e come str in Python. Un valore booleano viene reso come boolean oppure bool, mentre un numero viene rappresentato come number in TypeScript e float in Python. Queste corrispondenze descrivono l’inferenza effettuata a partire dai valori forniti.
Se un campo contiene un altro oggetto, il risultato comprende un tipo generato per quell’oggetto annidato e il campo lo utilizza come tipo collegato. Il nome radice scelto dall’utente riguarda il tipo principale e può essere personalizzato rispetto a Root.
Il codice restituito rappresenta la forma del JSON utilizzato per la richiesta. Se sostituisci proprietà, livelli interni o valori con dati diversi, esamina di nuovo la definizione ottenuta: un esempio modificato può portare a campi o tipi differenti. La generazione non sostituisce questa verifica di corrispondenza con il modello dati che intendi usare.
Esempio pratico
Stai descrivendo un profilo con nome testuale, età numerica, stato booleano e indirizzo interno usando questo JSON: {"nome":"Luca","eta":30,"attivo":true,"indirizzo":{"citta":"Roma"}}.
Incolla il JSON indicato, mantieni TypeScript, sostituisci Root con Profilo e avvia la generazione; poi verifica i campi e i tipi restituiti.
In TypeScript, il risultato presenta un’interfaccia radice chiamata Profilo, campi per nome, eta e attivo e un tipo separato per l’oggetto indirizzo; il campo annidato usa quel tipo.
Limiti
- La generazione richiede testo JSON non vuoto e sintatticamente valido e si limita a TypeScript e Python; una lingua diversa o un contenuto non interpretabile come JSON non produce codice.
- Il risultato riflette la struttura del documento fornito e i tipi dedotti dai suoi valori, quindi va confrontato con il modello dati previsto prima dell’integrazione.
Errori comuni
- Un fallimento può dipendere da un campo lasciato vuoto, da soli spazi o da una sintassi JSON non valida; inserisci un documento JSON non vuoto, sistema delimitatori e virgolette, poi invia di nuovo il contenuto.
Domande frequenti
Quale linguaggio viene scelto all’inizio?
Quando lasci l’impostazione iniziale, il linguaggio scelto è TypeScript e un oggetto JSON viene rappresentato tramite dichiarazioni di interfaccia. Puoi passare a Python se preferisci ottenere dataclass.
Che cosa succede agli oggetti annidati?
Se il documento contiene oggetti annidati, lo strumento crea un tipo per la struttura interna e assegna quel tipo al campo che la contiene. La forma dipende dai dati inseriti.
È possibile inviare un input vuoto?
No, quando il controllo riceve un campo vuoto o composto soltanto da spazi, la generazione non procede. Anche una struttura JSON malformata deve essere corretta prima di un nuovo tentativo.
Si può cambiare il nome radice?
Puoi sostituire Root con un nome radice scelto da te prima di avviare la generazione. Il nome personalizzato viene così usato per la struttura principale del risultato.