jsonecho

JSON to Go

Incolla un esempio JSON e ottieni i tipi Go corrispondenti.

Caricamento dello strumento...

Come usare JSON to Go

  1. Incolla un esempio JSON rappresentativo, idealmente uno con tutti i campi opzionali compilati.
  2. Imposta il nome del tipo radice e decidi se vuoi anche il codice di supporto o solo i tipi.
  3. Copia il codice Go generato nel tuo progetto.

Informazioni su JSON to Go

Scrivere a mano le classi modello per un grande payload JSON è noioso ed è lì che si insinuano gli errori di battitura. Incolla qui un esempio e il generatore ricava la struttura: quali campi esistono, quali sono oggetti, quali sono array e che tipo ha ogni valore. L'output è costituito da struct con tag json, più le funzioni helper Unmarshal e Marshal.

I nomi vengono esportati in PascalCase e gli acronimi come ID e URL restano in maiuscolo, che è ciò che i linter si aspettano. Tutto viene eseguito nel tuo browser, quindi i dati dell'esempio restano sul tuo computer.

Usare il codice generato

Chiama UnmarshalRoot(data) oppure usa json.Unmarshal(data, &root) se hai copiato solo i tipi.

I campi opzionali sono puntatori con il tag omitempty, così i valori mancanti e quelli a zero si possono distinguere.

Domande frequenti

Da cosa dipende il codice Go generato?

L'output è costituito da struct con tag json, più le funzioni helper Unmarshal e Marshal.

Come analizzo il JSON con il risultato?

Chiama UnmarshalRoot(data) oppure usa json.Unmarshal(data, &root) se hai copiato solo i tipi.

Come vengono gestiti i campi opzionali e mancanti?

I campi opzionali sono puntatori con il tag omitempty, così i valori mancanti e quelli a zero si possono distinguere.

Il generatore guarda più di un record?

Conosce solo ciò che c'è nel tuo esempio. Se un campo manca dal tuo esempio, non comparirà nei tipi e, se un valore è null nel tuo esempio, il suo tipo è sconosciuto. Incolla un esempio in cui siano compilati il più possibile i campi, oppure incolla un array con diversi record differenti.

Il mio JSON viene inviato a un server?

No. Il generatore viene scaricato nel tuo browser la prima volta che lo usi, circa 1 MB, e tutto viene eseguito in locale.

Altro in Da dati a classi

Tutti gli strumenti →