JSON einfügen, sofort Go-Structs erhalten. Unterstützt verschachtelte Objekte, omitempty und Inline-Beispiele.
Go (Golang) ist eine beliebte Sprache für Backend-Entwicklung und Cloud-native Anwendungen. Die Arbeit mit JSON in Go erfordert zuerst die Definition von Struct-Typen, was bei komplexen JSON-Strukturen mühsam sein kann. Dieses Tool generiert automatisch Go-Struct-Definitionen aus JSON und spart dir Stunden manueller Tipparbeit.
Erstellen von API-Clients, die JSON-Antworten von Drittanbietern verarbeiten. Schreiben von Unit-Tests mit Mock-Datenstrukturen. Lernen von Go und Verstehen von JSON-Serialisierungsmustern. Schnelles Prototyping von Datenmodellen für neue Projekte.
Füge deine JSON-Daten in das Eingabefeld ein. Setze Optionen wie Struct-Name, omitempty-Tags und Zeiger-Typen. Klicke auf Konvertieren, um den Go-Struct-Code zu generieren. Der generierte Code enthält korrekte json-Tags und kann direkt in dein Go-Projekt kopiert werden. Verschachtelte Objekte werden automatisch zu verschachtelten Struct-Definitionen.
omitempty ist eine JSON-Tag-Option in Go, die den Encoder anweist, das Feld zu überspringen, wenn es einen Nullwert hat (leerer String, 0, false, nil). Dies ist nutzlich für optionale Felder, kann aber bei Pflichtfeldern, bei denen Null ein gültiger Wert ist, Probleme verursachen.
In Go sind Felder, die mit Großbuchstaben beginnen, exportiert (öffentlich) und können vom json-Paket zugegriffen werden. Kleinbuchstaben-Felder sind nicht exportiert (privat) und werden von der JSON-Serialisierung ignoriert. Deshalb beginnen alle generierten Struct-Felder mit Großbuchstaben.
JSON-Arrays werden in Go-Slices ([]Type) konvertiert. Wenn das Array Objekte enthalt, wird ein verschachteltes Struct für den Elementtyp generiert. Arrays mit gemischten Typen verwenden []interface{}.
null-Werte in JSON sind mehrdeutig - sie können jeder Typ sein. Standardmasig werden sie als interface{} generiert. Wenn du den erwarteten Typ kennen, sollten Sie ihn manuell in den spezifischen Typ ändern oder einen Zeiger-Typ verwenden.