Convertitore JSON in Go โ Genera struct
Converti JSON in struct Go online con tag json, omitempty, puntatori per i campi opzionali e helper di unmarshal. Gratuito, istantaneo e privato nel browser.
๐ Funziona interamente nel tuo browser โ nulla viene caricatoGenera struct Go dal JSON
Scrivere a mano le struct Go per una grande risposta API รจ lento e soggetto a errori. Questo convertitore da JSON a Go lo fa all'istante: incolla un esempio JSON e genera tipi struct esportati con nomi di campo corretti e tag json che ricollegano ogni campo alla chiave originale. Gli oggetti annidati diventano struct con nome proprio, gli array diventano slice, interi e decimali sono distinti in int64 e float64 e i timestamp ISO 8601 vengono riconosciuti come time.Time. L'output รจ pronto per encoding/json senza ulteriori modifiche.
Lo strumento si basa su quicktype, che esamina ogni elemento di ogni array prima di scegliere un tipo. Se un elemento di un elenco ha un campo che gli altri non hanno, quel campo diventa un puntatore, cosรฌ il valore zero e il valore mancante restano distinguibili: un dettaglio che i convertitori a passaggio singolo spesso sbagliano.
Opzioni importanti in Go
Imposta il nome del package in modo che il file compili dove lo inserisci. Attiva omitempty se riconverti queste struct in JSON e vuoi che i campi opzionali assenti restino assenti. Per impostazione predefinita il generatore aggiunge piccole funzioni helper Unmarshalโฆ e Marshal attorno al tipo radice; seleziona Structs only se preferisci chiamare direttamente json.Unmarshal e ti servono solo i tipi. Rinomina la struct radice da Root al nome di dominio che preferisci, per esempio Repository o WebhookEvent.
Come ottenere il risultato migliore
Fornisci al convertitore un esempio rappresentativo: un array con piรน elementi, campi opzionali compilati e oggetti annidati popolati anzichรฉ vuoti. Array vuoti e valori null non danno all'inferenza nulla su cui lavorare e ricadono su interface{}. Dopo aver incollato il codice, esegui gofmt, controlla i tipi numerici dove l'esempio potrebbe non mostrare l'intero intervallo e sostituisci le stringhe generiche con tipi personalizzati quando la tua API documenta valori fissi. Poichรฉ tutta l'elaborazione avviene nel tuo browser, i dati interni o dei clienti non lasciano mai il tuo computer.
Come usare
- Incolla il JSONIncolla una risposta API o un qualsiasi documento JSON, oppure carica l'esempio.
- Scegli le opzioniImposta il nome della struct radice e il package, e decidi se usare omitempty e gli helper.
- Copia le structCopia il codice Go o scarica un file .go ed esegui gofmt come al solito.
Domande frequenti
Aggiunge i tag json alle struct?
`json:"key"` che conserva la chiave JSON originale, e puoi aggiungere ,omitempty ai campi opzionali con una sola casella.Come vengono gestiti i campi opzionali e null?
*string, cosรฌ puoi distinguere un valore assente da un valore zero.A cosa servono le funzioni helper?
UnmarshalRoot e Marshal. Seleziona Structs only per ottenere solo le dichiarazioni dei tipi.