Convertitore JSON in Go
Converti JSON in struct Go per lo sviluppo Go
Input JSON
Output Go
Cos'è JSON in Go?
Hai appena chiamato una REST API su Postman, la risposta è JSON, e devi fare l'unmarshal in Go — ma scrivere a mano la struct per una risposta profondamente annidata è davvero noioso. JSON e il pacchetto encoding/json di Go funzionano benissimo insieme, ma Go richiede definizioni di struct esplicite per ogni oggetto annidato. Dimenticare un campo o sbagliare un tipo fa sì che l'unmarshal ritorni silenziosamente valori zero. Questo strumento genera l'intera struttura di struct dal tuo JSON, pronta da incollare nel progetto.
Questo strumento genera struct Go dal tuo JSON. Imposta il nome della struct e il pacchetto nel pannello di configurazione. Abilita i tag JSON per json:"field_name" in modo che i campi della struct si mappino correttamente alle chiavi camelCase o snake_case. Abilita i puntatori per i campi opzionali o nullable.
La conversione viene eseguita interamente nel tuo browser. Il tuo JSON non viene mai inviato a un server.
Come usare questo strumento
Incolla o carica JSON
Copia il tuo JSON e incollalo nell'editor sinistro. Puoi anche fare clic su Carica per caricare un file .json o .txt. Usa il pulsante Esempio per caricare dati di esempio. Imposta il nome della struct e il nome del pacchetto nel pannello di configurazione.
Rivedi le struct generate
Il pannello di destra mostra le struct Go generate. Gli oggetti annidati diventano struct annidate o separate. Gli array diventano []Type. I tag JSON mappano i campi della struct alle chiavi JSON. Se il tuo JSON ha sintassi non valida, correggila prima usando il Formattatore JSON o il Validatore JSON.
Copia o scarica
Usa Copia per mettere il risultato negli appunti, o Scarica per salvarlo come file .go. Incollalo nel tuo progetto Go.
Esempi JSON in Go
Ecco un esempio di generazione di struct Go da un oggetto JSON.
Esempio: Record abbonato
Input JSON:
Output Go generato:
Quando JSON in Go è utile
La maggior parte degli sviluppatori ne ha bisogno quando integra API. Invii una richiesta tramite Postman o curl, e la risposta arriva come JSON. Incollarla qui ti dà struct tipizzate da usare immediatamente con encoding/json.
I file di configurazione sono un altro caso comune. Un config.json o settings.json con oggetti annidati spesso richiede una struct Go per l'accesso type-safe. Se devi prima unire due file JSON, usa lo strumento separato JSON Merge.
Le esportazioni di database da MongoDB, Firestore o CouchDB sono tipicamente grandi blob JSON. Elaborarli qui ti aiuta a capire la struttura del documento e generare struct Go per script di importazione o query.
Domande frequenti
Come genero struct Go automaticamente da JSON?
Incolla il tuo JSON in questo strumento e genera subito le struct Go. Abilita i Tag JSON perché i nomi dei campi si mappino correttamente alle chiavi JSON. Copia il risultato nel tuo progetto Go — pronto per usare con json.Unmarshal().
Perché le struct Go hanno bisogno di tag JSON?
I nomi dei campi devono essere esportati (maiuscoli) per JSON. JSON usa spesso camelCase o snake_case. Il tag json:"fieldName" dice a encoding/json quale chiave JSON corrisponde a quale campo. Senza tag, json.Unmarshal fa matching case-insensitive e può perdere campi silenziosamente.
I miei dati vengono inviati da qualche parte?
No. Tutto gira nel tuo browser — il tuo JSON non lascia mai la tua macchina. Puoi verificarlo nella tab Rete del browser. Sicuro anche per dati di produzione.
Cosa fare con omitempty?
Aggiungi omitempty al tag JSON per i campi che non vuoi nell'output quando sono vuoti: json:"name,omitempty". Il generatore non lo aggiunge di default — dipende dal caso d'uso, modifica l'output dopo la generazione.
Quando usare i puntatori per i campi struct?
Usa *Type per campi opzionali o nullable. Con un puntatore, un campo JSON assente restituisce nil, che puoi controllare. Senza puntatori ottieni il valore zero e non riesci a capire se il campo mancava o era semplicemente vuoto.
Strumenti correlati
Per la gestione JSON di Go, vedi encoding/json. Per JSON, vedi la specifica JSON e RFC 8259. Per i test API, vedi Postman.