DokumenteBilderMedienPDF-Werkzeuge

JSON in Go Struct

Typisierte Go-Structs mit JSON-Tags generieren. Kostenlos, in deinem Browser.

Processed in your browser

JSON zu Go-Struct für die API-Entwicklung

Kompatibel mit encoding/json

Der generierte Code funktioniert direkt mit dem Standard-Paket encoding/json von Go - ohne externe Abhängigkeiten.

100% privat

Dein JSON wird im Browser verarbeitet. Nie an Server gesendet. Sicher für vertrauliche API-Nutzdaten.

Typen korrekt abgeleitet

Erkennt string, int, float64, bool, Arrays und verschachtelte Structs. Generiert den passendsten Go-Typ für jeden Wert.

Sofortig

Generierung erfolgt während du tippst. Kein Warten, keine Formular-Übermittlungen.

Drei Schritte, kein Aufwand

1

Dein JSON einfügen

Tippe oder füge das JSON ein, das deine API-Antwort oder Konfigurationsstruktur darstellt. Der Editor validiert das JSON in Echtzeit.

2

Deine Go-Struct erhalten

Das Tool generiert automatisch eine Go-Struct mit abgeleiteten Typen (string, int, float64, bool, slice, verschachtelte Struct) und json-Feld-Tags.

3

Kopieren und im Projekt verwenden

Kopiere den generierten Code direkt in deine .go-Datei. Kompatibel mit dem Standard-Paket encoding/json von Go.

Noch Fragen?

Go ist eine stark typisierte Sprache. Um JSON-Antworten einer API zu dekodieren, benötigst du eine Struct, die zur JSON-Struktur passt. Diese Structs manuell zu definieren ist mühsam und fehleranfällig. Dieses Tool automatisiert diesen Prozess und generiert Structs mit korrekten Typen sowie json-Tags, die die Felder des ursprünglichen JSON exakt abbilden.

Die json-Tags an Struct-Feldern teilen dem Paket encoding/json mit, wie das Feld serialisiert und deserialisiert werden soll. Hat das JSON einen Schlüssel user_name, bildet das entsprechende Tag dieses Feld auf den von dir gewählten Go-Feldnamen ab, zum Beispiel UserName. Ohne Tags verlangt Go, dass die Feldnamen exakt übereinstimmen (Groß-/Kleinschreibung beachten).

Enthält das JSON Objekte innerhalb von Objekten, generiert das Tool verschachtelte Structs. Zum Beispiel erzeugt {"address": {"city": "Berlin"}} eine Struct Address mit dem Feld City string, und die übergeordnete Struct enthält Address Address. Namen folgen der CamelCase-Konvention von Go.

Go verwendet CamelCase für exportierte Bezeichner. Das Tool konvertiert snake_case, kebab-case und andere Stile automatisch in PascalCase. Exportierte Felder (mit großem Anfangsbuchstaben) sind erforderlich, damit encoding/json darauf zugreifen kann.

In JSON kann ein Feld fehlen oder null sein. In Go ist der Nullwert von string ein leerer String und von int die 0, was es unmöglich macht, zwischen fehlendem Feld und Feld mit Nullwert zu unterscheiden. Mit Pointern (*string, *int) zeigt nil an, dass das Feld fehlte oder null war. Das Tool generiert Pointer, wenn es aus null-Werten im Beispiel-JSON schließt, dass ein Feld optional sein könnte.

Go/Golang in der API-Entwicklung: Typsicherheit und JSON-Verarbeitung

Go (auch Golang genannt) wurde 2009 von Google entwickelt und 2012 öffentlich veröffentlicht. Das Design priorisiert Einfachheit, schnelle Kompilierung und Leistung. Anders als Python oder JavaScript ist Go stark typisiert und kompiliert, was bedeutet, dass Typfehler zur Kompilierzeit und nicht zur Laufzeit erkannt werden. Das macht Go besonders wertvoll für Backend-Dienste und APIs, bei denen Zuverlässigkeit entscheidend ist.

Beim Aufbau von REST-APIs mit Go geht es typischerweise darum, JSON aus Request-Bodies zu dekodieren und Go-Structs als JSON in Antworten zu kodieren. Das Paket encoding/json der Standardbibliothek übernimmt diese Serialisierung. Struct-Tags wie json-Feldname-Angaben geben feingranulare Kontrolle über die Feldzuordnung. Go treibt Tools wie Docker, Kubernetes, Terraform und CockroachDB an.

Die Go-Nutzung ist im TIOBE-Index und in Stack-Overflow-Umfragen stetig gewachsen. Das auf Goroutinen basierende Nebenläufigkeitsmodell und das effiziente Speichermodell machen es ideal für Hochdurchsatz-Microservices. Das automatische Generieren von Structs aus JSON-Antworten externer APIs - wie Stripe, Twilio oder eigene REST-APIs - ist eine tägliche Aufgabe für Go-Entwickler, und die Automatisierung dieses Prozesses spart bei Projekten mit komplexen oder sich entwickelnden JSON-Schemas erheblich Zeit.