Convertitore da JSON a codice
Trasforma un campione JSON in interfacce TypeScript, struct Go, struct serde di Rust, uno schema Zod o JSON Schema.
Convertitore da JSON a codice — Incolla un campione JSON rappresentativo e ottieni all'istante codice fortemente tipizzato nel tuo linguaggio di destinazione: interfacce TypeScript, struct Go con tag json, struct serde di Rust, uno schema Zod o JSON Schema draft-07. I tipi vengono dedotti direttamente dai dati: gli oggetti annidati diventano tipi con nome, gli array inferiscono il tipo del loro elemento e i campi non presenti in ogni elemento di un array vengono contrassegnati come opzionali. Tutto viene eseguito nel tuo browser, quindi il tuo JSON non viene mai caricato.
Cos'è Convertitore da JSON a codice?
JSON in codice è un generatore di tipi gratuito che funziona nel browser: legge un campione JSON e scrive il modello di dati corrispondente nel linguaggio che scegli. Scegli una destinazione dal menu Converti in (interfaccia TypeScript, struct Go, struct serde di Rust, schema Zod o JSON Schema) e imposta un Nome del tipo radice per etichettare il tipo di livello superiore. Il motore di inferenza percorre il JSON: stringhe, numeri, booleani e null vengono mappati su tipi nativi, gli oggetti annidati vengono promossi a tipi con nome propri, gli array adottano il tipo del loro elemento e le chiavi assenti in alcuni elementi di un array diventano opzionali. Gli sviluppatori frontend e backend lo usano per generare DTO dalle risposte delle API, abbozzare schemi di validazione e mantenere sincronizzati i tipi del client e del server senza scrivere codice ripetitivo a mano.
Come usare Convertitore da JSON a codice
- Incolla o digita un campione JSON rappresentativo nella casella di input, oppure fai clic su Esempio per caricarne uno.
- Apri le Impostazioni e scegli una destinazione sotto Converti in: TypeScript, Go, Rust, Zod o JSON Schema.
- Imposta il Nome del tipo radice per controllare il nome dell'interfaccia, dello struct o dello schema di livello superiore.
- Leggi il codice generato nel pannello di output: si aggiorna automaticamente mentre modifichi il JSON o cambi le opzioni.
- Guarda la statistica Tipi per vedere quanti tipi con nome sono stati dedotti, poi fai clic su Copia per prendere il risultato.
Esempi
Oggetto in interfaccia TypeScript
Input
{ "id": 1, "name": "Ada", "active": true }Output
export interface Root {
id: number;
name: string;
active: boolean;
}Oggetto annidato in struct Go
Input
{ "user": { "age": 30 } }Output
type User struct {
Age float64 `json:"age"`
}
type Root struct {
User User `json:"user"`
}Array con una chiave mancante in uno schema Zod
Incolla un array come [{"a":1,"b":2},{"a":3}] e imposta Converti in su Zod. Poiché il secondo elemento non ha b, il generatore contrassegna b come .optional() nello z.object dedotto, così lo schema accetta entrambe le forme.
Domande frequenti
- Il mio JSON viene caricato da qualche parte?
- No. L'analisi e la generazione del codice vengono eseguite interamente nel tuo browser tramite un motore di inferenza integrato. Il tuo JSON non lascia mai il dispositivo e lo strumento continua a funzionare offline.
- Quali destinazioni sono supportate?
- Interfacce TypeScript, struct Go (con tag json e omitempty per i campi opzionali), struct serde di Rust (con i derive Serialize/Deserialize e rename quando un campo viene rinominato), schemi Zod e JSON Schema draft-07. Lo strumento genera solo ciò che può dedurre fedelmente dal tuo campione.
- Come vengono decisi i campi opzionali?
- Dal tuo campione. Quando un array contiene oggetti e una chiave manca in alcuni di essi, quella chiave viene dedotta come opzionale. Per il resto, ogni chiave presente nel campione viene trattata come obbligatoria.
- E i numeri, i null e i tipi misti?
- I numeri vengono mappati sul tipo a virgola mobile del linguaggio (number, float64, f64), null viene mappato su un tipo nullable o valore a seconda della destinazione, e un campo che contiene tipi diversi tra i campioni ripiega su un tipo permissivo (unknown, interface{}, serde_json::Value) invece di indovinare.
- Perché il mio output è vuoto o mostra un errore?
- L'input deve essere JSON valido. Se l'analisi fallisce, lo strumento mostra l'errore con riga e colonna quando disponibili; correggi il punto segnalato e il codice viene rigenerato all'istante.
Strumenti correlati
Codifica / decodifica Base32 / Base58
Codifica testo in Base32 (RFC 4648) o Base58 (l'alfabeto di Bitcoin) e decodifica entrambi di nuovo in testo, completamente sicuro in UTF-8 e interamente nel tuo browser.
Codifica / decodifica Base64
Codifica o decodifica Base64 (compatibile con UTF-8) con alfabeto URL-safe, riempimento opzionale, a capo 64/76, conteggio di byte e caratteri in tempo reale e vista byte in hex o binario.
Convertitore di maiuscole/minuscole e contatore
Converti il testo tra UPPERCASE, camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case e altro, e conta caratteri, parole e righe.
Formattatore e minificatore di codice
Abbellisci o minifica HTML, CSS e JavaScript all'istante nel tuo browser, con rientro di 2 spazi, 4 spazi o tabulazione e compressione JavaScript basata su Terser.