UTILS.
100% nel browser
🐹

JSON to Go Struct

Converti un campione JSON in struct Go tipizzate con tag json. Deduce int64, float64, bool, struct annidate e slice nel tuo browser.

output

Informazioni su questo strumento

Incolla un campione JSON e questo strumento genera struct Go pronte all'uso, complete di tag `json:"field"` per ogni chiave. Tutto funziona localmente nel tuo browser, quindi il tuo JSON non viene mai caricato da nessuna parte.

Il generatore chiama JSON.parse e percorre il risultato ricorsivamente: le stringhe diventano string, i booleani diventano bool, i numeri interi diventano int64 e i numeri con un decimale diventano float64, null diventa interface{}, gli array diventano una slice del tipo del primo elemento ([]interface{} quando vuoto), e ogni oggetto diventa la propria struct annidata con nome. I nomi dei campi vengono convertiti in PascalCase esportato (con acronimi comuni come ID e URL in maiuscolo) mentre la chiave originale viene preservata nel tag json.

Usalo per avviare modelli Go da una risposta API o un file di configurazione, poi rifinisci i tipi a mano dove necessario. Poiché JSON non ha un tipo intero separato, un valore come 1.0 viene letto come intero; aggiungi un decimale (1.5) se vuoi float64.

Domande frequenti

Come vengono tipizzati i numeri?
Un valore analizzato senza parte frazionaria diventa int64; un valore con un decimale diventa float64. JSON non può distinguere 1 da 1.0, quindi entrambi vengono letti come int64.
Cosa succede con oggetti e array annidati?
Ogni oggetto diventa una struct separata con nome; gli array diventano una slice del tipo del primo elemento, o []interface{} se l'array è vuoto o l'elemento è null.
I nomi dei campi sono Go validi?
Le chiavi vengono convertite in PascalCase esportato e la chiave originale viene mantenuta in un tag json, così il JSON viene ricostruito correttamente anche per nomi come user_id o first-name.
Il mio JSON viene inviato a un server?
No. L'analisi e la generazione del codice avvengono interamente nel tuo browser; niente viene caricato o memorizzato.

Altri strumenti