Convertitore JSON in Go
Converti JSON in struct Go per lo sviluppo Go
Input JSON
Output Go
Cos'è JSON in Go?
Go usa le struct per i dati strutturati. Quando fai l'unmarshal di JSON con encoding/json, hai bisogno di struct con campi e tipi corrispondenti. La specifica JSON definisce oggetti, array, stringhe, numeri e booleani—ma Go richiede definizioni di struct esplicite per ogni oggetto annidato.
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 <code>[]Type</code>. 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 <strong>Copia</strong> per mettere il risultato negli appunti, o <strong>Scarica</strong> per salvarlo come file <code>.go</code>. 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 <code>config.json</code> o <code>settings.json</code> 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
Perché i tag JSON?
I nomi dei campi delle struct Go devono essere esportati (maiuscoli) per JSON. JSON usa spesso camelCase o snake_case. Il tag json:"fieldName" mappa il campo della struct alla chiave JSON. Abilita i Tag JSON nella configurazione affinché le struct generate funzionino correttamente con json.Unmarshal e json.Marshal.
Puntatori per i campi opzionali?
Se un campo JSON può essere null o mancante, usa *Type per distinguere tra valore zero e assente. Senza puntatori, non puoi distinguere la differenza. Abilita Usa Puntatori nella configurazione per i campi opzionali o nullable.
I miei dati vengono inviati da qualche parte?
No. La generazione viene eseguita interamente nel tuo browser. Nessun dato viene inviato a nessun server.
Cosa succede con omitempty?
Aggiungi omitempty al tag JSON per i campi che non vuoi nell'output quando sono vuoti: json:"name,omitempty". Modifica l'output se necessario.
Interface{} per JSON dinamico?
Per strutture sconosciute o molto variabili, usa map[string]interface{} o interface{}. Questo strumento genera struct tipizzate per forme note.
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.