DT Dev Tools

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 caricato

Pubblicitร 

Genera 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

  1. Incolla il JSONIncolla una risposta API o un qualsiasi documento JSON, oppure carica l'esempio.
  2. Scegli le opzioniImposta il nome della struct radice e il package, e decidi se usare omitempty e gli helper.
  3. 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?
Sรฌ. Ogni campo riceve un tag `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?
I campi assenti o null in alcuni esempi diventano tipi puntatore come *string, cosรฌ puoi distinguere un valore assente da un valore zero.
A cosa servono le funzioni helper?
Per impostazione predefinita l'output include gli helper UnmarshalRoot e Marshal. Seleziona Structs only per ottenere solo le dichiarazioni dei tipi.
Il mio JSON viene inviato a un server?
No. La conversione avviene nel tuo browser con quicktype compilato in JavaScript; nulla viene caricato.
Pubblicitร