JSON zu Go-Struktur
Konvertiert ein JSON-Beispiel in Go-Strukturdefinitionen mit abgeleiteten Typen und Tags.
JSON zu Go-Struktur
Fügen Sie ein JSON-Beispiel ein, und dieses Werkzeug generiert passende Go-Strukturdefinitionen mit json-Tags. Es leitet int, float64, string, bool und null für jedes Feld ab, erstellt benannte oder eingebettete Strukturen für verschachtelte Objekte und bestimmt Slice-Typen für Arrays — einschließlich Slices von Objekten, die ihre eigene wiederverwendbare Struktur haben.
Optionen prägen den generierten Code. Benennen Sie die Root-Struktur selbst oder lassen Sie das Werkzeug sie ableiten. Wählen Sie, wie Tags geschrieben werden — behalten Sie den ursprünglichen Schlüssel bei oder konvertieren Sie ihn unabhängig davon in snake_case oder camelCase, wie das ursprüngliche Feld benannt wurde. Aktivieren Sie "omitempty hinzufügen", um es zu jedem Tag hinzuzufügen, und "Zeiger für optionale Felder", um Felder, die in Teilen des Beispiels fehlen oder null sind, mit einem Zeigertyp zu kennzeichnen. Wenn Array-Objekte leicht unterschiedliche Felder haben, "Array-Elementformen zusammenführen" kombiniert sie in einer Struktur mit zusätzlichen Feldern, die als optional gekennzeichnet sind, anstatt den Element-Typ aufzugeben. Wählen Sie für Werte, die das Werkzeug nicht bestimmen kann, interface{}, den Alias any oder json.RawMessage zur verzögerten Dekodierung.
Dies ist der Schritt vor dem Schreiben eines API-Clients oder Config-Loaders in Go: Fügen Sie eine echte Antwort oder ein Config-Beispiel ein und erhalten Sie eine anfängliche Struktur, anstatt Feldnamen und Tags von Hand einzutippen. Verschachtelte Strukturen können als separate benannte Typen zur Wiederverwendung an anderer Stelle im Paket bleiben oder inline gerendert werden, wenn eine Form nur einmal verwendet wird. Für Felder, deren Tag nicht mehr dem ursprünglichen JSON-Schlüssel entspricht, ist ein Kommentar mit dem ursprünglichen Schlüssel verfügbar.
Alles läuft lokal in Ihrem Browser — das JSON, das Sie einfügen, das echte API-Antworten oder interne Konfiguration enthalten könnte, wird nie hochgeladen. Kopieren Sie das Ergebnis, laden Sie es als .txt-Datei herunter oder verschieben Sie die Ausgabe zurück in die Eingabe, um das Beispiel zu verfeinern und erneut zu generieren.