JSON in Go-Struct

Erzeugen Sie Go-Struct-Deklarationen aus einem repräsentativen JSON-Objekt oder -Array, einschließlich verschachtelter Typen, exportierter Feldnamen und json-Tags mit den ursprünglichen Eigenschaftsnamen.

Wählen Sie Paket- und Stammtypnamen und erzeugen Sie anschließend eine vollständige Go-Quelldatei mit gültigen exportierten Feldern und json-Tags, die die ursprünglichen Eigenschaftsnamen enthalten. Prüfen Sie die vom Beispiel abhängigen Entscheidungen, bevor Sie die Typen in einer Anwendung verwenden.

Zuordnung von JSON-Werten zu Go-Typen

So erzeugen Sie Go-Structs aus JSON

  1. Fügen Sie ein JSON-Objekt oder ein nicht leeres Array ein oder laden Sie die Beispieldaten.
  2. Wählen Sie die Namen des Pakets und des Stammtyps und legen Sie fest, ob die json-Tags omitempty enthalten sollen.
  3. Erzeugen Sie den Go-Quellcode, prüfen Sie die abgeleiteten Typen und kopieren Sie das Ergebnis oder laden Sie es herunter.

Häufige Fragen zu JSON-in-Go-Struct

Welche JSON-Eingaben kann ich verwenden?

Verwenden Sie ein JSON-Objekt oder ein beliebiges nicht leeres JSON-Array. Ein Array auf der obersten Ebene wird zu einem benannten Slice, und jedes Objekt im Array trägt zu den abgeleiteten Feldern bei. Eigenschaftsnamen müssen durch die Struct-Tags des Go-Standardpakets encoding/json darstellbar sein; nicht unterstützte Namen lösen einen Fehler aus, statt stillschweigend geändert zu werden.

Wie werden Objektarrays und fehlende Felder behandelt?

Objektarrays werden über alle angegebenen Elemente hinweg zusammengeführt. Ein Feld, das nur in einigen Elementen vorkommt, wird dennoch aus den vorhandenen Werten erzeugt. Die Option omitempty ändert jedes json-Tag; sie fügt keine Zeiger hinzu und prüft keine Pflichtfelder.

Was geschieht mit null und gemischten Werten?

Ein null-Wert, eine inkompatible Mischung von Werttypen oder ein Array mit inkompatiblen Werten wird zu any. Ein leeres Array wird zu []any, weil das Beispiel seinen Elementtyp nicht erkennen lässt.

Kann ich die erzeugten Typen ungeprüft verwenden?

Betrachten Sie das Ergebnis als beispielbasierten Ausgangspunkt. Prüfen Sie optionale Felder, Zeitangaben als Zeichenfolgen, map-ähnliche Objekte, Zahlenbereiche und Bezeichner, die außerhalb des exakt darstellbaren Bereichs einer JSON-Zahl liegen könnten, bevor Sie die Typen in Ihr Projekt übernehmen.

Wird mein JSON hochgeladen?

Nein. Das JSON wird von diesem Tool in diesem Browser-Tab geparst und konvertiert. Es wird nicht auf einen Server hochgeladen.

Ähnliche Tools: JSON-Formatter · JSON in TypeScript · JSON-Schema-Generator