Generatore JSON → Go

Input JSON

Caricamento editor…

Go Generato

Configuration

Inserisci dati JSON per generare struct Go

Struct Go con tag JSON e mappatura tipi corretta

Come convertire JSON in Go: guida passo passo

Utilizza questo generatore JSON to Go per creare strutture Go con tag JSON da esempi JSON per API e servizi.

  1. Passaggio 1: incolla un esempio JSON

    • Incolla un oggetto o un array JSON rappresentativo nell'editor di sinistra.
    • Includere oggetti nidificati, matrici e campi nullable in modo che i tipi vengano dedotti correttamente.
    • Utilizza Import per caricare JSON da un file, un URL o dati di esempio.
  2. Passaggio 2: scegli le opzioni Go struct

    • Imposta una radice Struct Name (ad esempio Root).
    • Decidi come gestire i campi facoltativi (*string, omitempty o tipi personalizzati).
    • Conferma i tag JSON e la denominazione in modo che le chiavi vengano mappate correttamente (ad esempio json:"createdAt").
  3. Passaggio 3: rivedere il codice generato

    • Controlla i nomi dei campi, i tipi e il modo in cui sono modellati gli array/oggetti.
    • Modifica opzioni come Root Type Name, gestione null e framework, se disponibili.
    • Se un campo viene dedotto in modo errato, modifica il JSON di esempio e rigeneralo.
  4. Passaggio 4: utilizzare le strutture in Go

    • Incolla le strutture nel tuo pacchetto ed esegui gofmt.
    • Annulla il marshalling con encoding/json nel tipo root.
    • Aggiungi la convalida (ad esempio i campi obbligatori) al limite dell'API.
  5. Passaggio 5: copiare o scaricare

    • Copia l'output nel tuo progetto o scaricalo come file.
    • Esegui il tuo formattatore/linter per adattarlo allo stile del tuo codice.
    • Aggiungi librerie di analisi/serializzazione JSON se la tua lingua le richiede.

Suggerimenti rapidi

  • Utilizza i puntatori per i campi nullable quando è necessario distinguere quelli mancanti da quelli vuoti.
  • Preferisci time.Time solo quando controlli il formato timestamp.
  • Mantieni le strutture DTO separate dai modelli di dominio interno quando necessario.
Output di esempio (semplificato)
// Ingresso JSON
{
  "id": 123,
  "name": "Maeve Winters",
  "email": "[email protected]",
  "active": true,
  "roles": ["admin", "editor"],
  "metadata": { "plan": "pro" },
  "createdAt": "2024-03-01T10:15:00Z",
  "score": 99.5,
  "notes": null
}

// Generated Go structs (simplified)
type Metadata struct {
  Plan string `json:"plan"`
}

type Root struct {
  ID        int       `json:"id"`
  Name      string    `json:"name"`
  Email     *string   `json:"email"`
  Active    bool      `json:"active"`
  Roles     []string  `json:"roles"`
  Metadata  Metadata  `json:"metadata"`
  CreatedAt string    `json:"createdAt"`
  Score     float64   `json:"score"`
  Notes     any       `json:"notes"`
}

Strumenti JSON e Go correlati

Esplora altri strumenti JSON e schemi che funzionano alla grande insieme a questo generatore JSON to Go.

Domande frequenti

Quali funzionalità Go sono supportate?

Il generatore crea definizioni di struct Go con tag JSON, supporta struct embeddate, tipi puntatore per campi opzionali e segue le convenzioni di naming Go.

Come vengono gestiti i tag JSON?

Le struct generate includono tag json per la corretta mappatura dei nomi. I campi opzionali usano omitempty per rendere flessibile l’encoding JSON.

Come vengono gestiti slice e array?

Gli array JSON vengono mappati a slice Go ([]Type) con il tipo elemento corretto. Sono supportati array annidati e strutture complesse.

Come vengono gestiti gli oggetti annidati?

Gli oggetti annidati generano definizioni di struct separate e le relazioni sono gestite tramite campi struct embedded o referenziati.

Generatore JSON → Go | JSONSwiss