UTILS.
100 % im Browser
🐹

JSON zu Go-Struct

Wandelt ein JSON-Beispiel in typisierte Go-Structs mit json-Tags um. Erkennt int64, float64, bool, verschachtelte Structs und Slices in Ihrem Browser.

Ausgabe

Über dieses Tool

Fügen Sie ein JSON-Beispiel ein und dieses Tool erzeugt einsatzbereite Go-Structs, komplett mit `json:"field"`-Tags für jeden Schlüssel. Alles läuft lokal in Ihrem Browser, sodass Ihr JSON niemals irgendwohin hochgeladen wird.

Der Generator ruft JSON.parse auf und durchläuft das Ergebnis rekursiv: Strings werden zu string, Booleans zu bool, ganze Zahlen zu int64 und Zahlen mit Dezimalstelle zu float64, null wird zu interface{}, Arrays werden zu einem Slice des Typs des ersten Elements ([]interface{} wenn leer), und jedes Objekt wird zu seiner eigenen benannten verschachtelten Struct. Feldnamen werden in exportiertes PascalCase umgewandelt (mit gängigen Initialismen wie ID und URL in Großbuchstaben), während der ursprüngliche Schlüssel im json-Tag erhalten bleibt.

Nutzen Sie es, um Go-Modelle aus einer API-Antwort oder Konfigurationsdatei zu erstellen, und passen Sie die Typen dann bei Bedarf von Hand an. Da JSON keinen separaten Ganzzahltyp hat, wird ein Wert wie 1.0 als Ganzzahl gelesen; fügen Sie eine Dezimalstelle (1.5) hinzu, wenn Sie float64 möchten.

Häufig gestellte Fragen

Wie werden Zahlen typisiert?
Ein geparster Wert ohne Nachkommateil wird zu int64; ein Wert mit Dezimalstelle wird zu float64. JSON kann 1 nicht von 1.0 unterscheiden, sodass beide als int64 gelesen werden.
Was passiert mit verschachtelten Objekten und Arrays?
Jedes Objekt wird zu einer separaten benannten Struct; Arrays werden zu einem Slice des Typs des ersten Elements oder []interface{}, wenn das Array leer oder das Element null ist.
Sind die Feldnamen gültiges Go?
Schlüssel werden in exportiertes PascalCase umgewandelt und der ursprüngliche Schlüssel in einem json-Tag beibehalten, sodass JSON auch bei Namen wie user_id oder first-name korrekt hin- und her konvertiert.
Wird mein JSON an einen Server gesendet?
Nein. Parsen und Codegenerierung geschehen vollständig in Ihrem Browser; nichts wird hochgeladen oder gespeichert.

Weitere Tools