JSON‑zu‑Go‑Generator

JSON Eingabe

Editor wird geladen…

Generierter Go

Configuration

Geben Sie JSON‑Daten ein, um Go‑Structs zu generieren

Structs mit passenden Feldnamen und JSON‑Tags

So konvertieren Sie JSON in Go – Schritt-für-Schritt-Anleitung

Verwenden Sie diesen JSON to Go-Generator, um Go-Strukturen mit JSON-Tags aus JSON-Beispielen für APIs und Dienste zu erstellen.

  1. Schritt 1 – Fügen Sie ein JSON-Beispiel ein

    • Fügen Sie ein repräsentatives JSON-Objekt oder -Array in den linken Editor ein.
    • Schließen Sie verschachtelte Objekte, Arrays und Nullable-Felder ein, damit Typen korrekt abgeleitet werden.
    • Verwenden Sie Import, um JSON aus einer Datei, URL oder Beispieldaten zu laden.
  2. Schritt 2 – Wählen Sie Go-Strukturoptionen

    • Legen Sie einen Stamm Struct Name fest (zum Beispiel Root).
    • Entscheiden Sie, wie mit optionalen Feldern umgegangen wird (*string, omitempty oder benutzerdefinierte Typen).
    • Bestätigen Sie JSON-Tags und Benennung, damit die Schlüssel korrekt zugeordnet werden (z. B. json:"createdAt").
  3. Schritt 3 – Überprüfen Sie den generierten Code

    • Überprüfen Sie Feldnamen, Typen und die Modellierung von Arrays/Objekten.
    • Passen Sie Optionen wie Root Type Name, Nullbehandlung und Frameworks an, falls verfügbar.
    • Wenn ein Feld falsch abgeleitet wird, optimieren Sie Ihren Beispiel-JSON und generieren Sie ihn neu.
  4. Schritt 4 – Verwenden Sie die Strukturen in Go

    • Fügen Sie die Strukturen in Ihr Paket ein und führen Sie gofmt aus.
    • Unmarshalieren mit encoding/json in den Root-Typ.
    • Fügen Sie eine Validierung (z. B. erforderliche Felder) an der API-Grenze hinzu.
  5. Schritt 5 – Kopieren oder Herunterladen

    • Kopieren Sie die Ausgabe in Ihr Projekt oder laden Sie sie als Datei herunter.
    • Führen Sie Ihren Formatierer/Linter entsprechend Ihrem Codestil aus.
    • Fügen Sie JSON-Parsing-/Serialisierungsbibliotheken hinzu, wenn Ihre Sprache dies erfordert.

Schnelle Tipps

  • Verwenden Sie Zeiger für Nullable-Felder, wenn Sie zwischen fehlenden und leeren Feldern unterscheiden müssen.
  • Bevorzugen Sie time.Time nur, wenn Sie das Zeitstempelformat steuern.
  • Halten Sie DTO-Strukturen bei Bedarf getrennt von internen Domänenmodellen.
Beispielausgabe (vereinfacht)
// JSON-Eingabe
{
  "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"`
}

Verwandte JSON- und Go-Tools

Entdecken Sie weitere JSON- und Schema-Tools, die zusammen mit diesem JSON to Go-Generator hervorragend funktionieren.

Häufig gestellte Fragen

Welche Go‑Features werden unterstützt?

Der Generator erstellt Go‑Structs mit passenden Feldnamen, JSON‑Tags für Marshal/Unmarshal sowie geeigneten Go‑Datentypen – gemäß Go‑Namenskonventionen.

Wie werden JSON‑Tags gehandhabt?

Der Generator fügt automatisch JSON‑Tags zu Struct‑Feldern hinzu. Optional können Sie auch YAML‑ oder XML‑Tags aktivieren, wenn Sie mehrere Formate benötigen.

Kann ich den Paketnamen anpassen?

Ja! Sie können jeden Paketnamen angeben. Standard ist „main“, aber Sie können z. B. „models“, „types“ usw. verwenden.

Wie werden Go‑Namenskonventionen umgesetzt?

Der Generator konvertiert JSON‑Feldnamen automatisch in passende Go‑Feldnamen (PascalCase für exportierte Felder) und behält die Originalnamen in den JSON‑Tags bei.

JSON‑zu‑Go‑Generator | JSONSwiss