Omnikit
DevDateienFinanzenAlle Tools
Ctrl K
Dev-ToolsDatei-ToolsFinanzrechnerAlle Tools
StartseiteEntwickler-ToolsJSON-zu-Go-Struct-Konverter
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

JSON-zu-Go-Struct-Konverter

dev

Machen Sie aus einem JSON-Beispiel Go-Structs mit json-Tags, int oder float64, Pointern und omitempty

Läuft in Ihrem Browser. Nichts, was Sie eingeben, wird irgendwohin gesendet. Geprüft am 16. Oktober 2026.

Fügen Sie ein JSON-Beispiel ein und erhalten Sie Go-Struct-Typen mit json-Tags, bereit für json.Unmarshal. Ganze Zahlen werden zu int, über 2.147.483.647 zu int64, und jede Dezimalzahl macht ein Feld zu float64; ein Wert, der manchmal null ist, wird zum Pointer, und Schlüssel, die in manchen Objekten fehlen, erhalten omitempty.

Diese Seite wurde maschinell aus dem englischen Original übersetzt. Die Übersetzung wurde noch von keinem Menschen geprüft; maßgeblich ist die englische Fassung. Englisches Original lesen

Weiter:
  • JSON in TypeScript umwandeln TypeScript-Interfaces oder -Typen aus einem JSON-Beispiel erzeugen
  • JSON-Formatierer und Validator JSON formatieren, validieren, minifizieren und sortieren, mit genauer Fehlerposition

So wandeln Sie JSON in ein Go-Struct um

1

Fügen Sie ein JSON-Beispiel, etwa eine API-Antwort, in das linke Feld ein.

2

Die Go-Typen erscheinen während der Eingabe: ein Struct pro Objekt, mit json-Tags und Namen im Go-Stil wie UserID.

3

Wählen Sie Verschachtelte Structs inline oder omitempty für jedes Feld, wenn Sie es möchten, und legen Sie den Namen des Wurzeltyps fest.

4

Klicken Sie auf Kopieren oder auf Herunterladen, um eine .go-Datei zu speichern, und ergänzen Sie Ihre package-Zeile.

Über den JSON-zu-Go-Struct-Konverter

Go dekodiert JSON in Structs, und jedes Feld braucht den richtigen Typ und ein Tag json:"...", das den Schlüssel nennt. Dieser Konverter schreibt diese Typen aus einem Beispiel, sodass eine API-Antwort mit 200 Zeilen mit einem Einfügen zu korrektem Go wird.

Wie die Typen gewählt werden.

JSON-Wert Go-Typ
"text" string
true / false bool
42 (nur ganze Zahlen) int, oder int64 über 32 Bit hinaus
4.5 (irgendeine Dezimalzahl gesehen) float64
null und zusätzlich ein Typ ein Pointer, etwa *string
nur null oder gemischte Arten any
[ ... ] ein Slice, etwa []string
{ ... } ein benanntes Struct oder ein Inline-Struct

Arrays von Objekten. Alle Objekte eines Arrays werden zu einem Struct zusammengeführt, sodass ein Feld, das nur in einigen vorkommt, trotzdem vorhanden ist, mit ,omitempty im Tag. Zwei Objekte mit genau denselben Schlüsseln und Typen teilen sich einen Typnamen.

Namen. Schlüssel werden zu exportierten Go-Namen im Go-Stil: Aus user_id wird UserID, aus avatar_url AvatarURL, nach der Akronymliste von golint. Ein Schlüssel, der mit einer Ziffer beginnt, erhält ein vorangestelltes N; zwei Schlüssel, die denselben Namen ergeben, werden nummeriert. Ein Schlüssel mit Zeichen, die ein Tag nicht aufnehmen kann, etwa einem Komma, wird mit einem Kommentar markiert, weil encoding/json ihn nicht zuordnen würde.

Optionen. Verschachtelte Structs inline schreibt einen einzigen Typ mit anonymen Structs darin, was zu einer einmaligen Antwort passt. omitempty für jedes Feld passt zu Structs, die Sie auch serialisieren. Der Wurzeltyp heißt Root, sofern Sie keinen Namen vergeben.

Jede Ausgabe wurde geprüft, indem das Go zurückgelesen und das Beispiel nach den Regeln von encoding/json dekodiert wurde. Nichts, was Sie einfügen, verlässt den Browser.

Häufig gestellte Fragen

Wie wandle ich JSON in ein Go-Struct um?

Fügen Sie ein JSON-Beispiel in den Konverter ein, und das Go-Struct erscheint daneben, mit einem json-Tag an jedem Feld und verschachtelten Objekten als eigene Typen. Kopieren Sie es in Ihr Paket und dekodieren Sie mit json.Unmarshal(data, &v), wobei v eine Variable des Wurzeltyps ist.

Sollten JSON-Zahlen in Go int oder float64 sein?

Nutzen Sie int, wenn jeder Beispielwert eine ganze Zahl ist, und float64, wenn irgendein Wert Nachkommastellen hat, weil encoding/json sich weigert, 4.5 in ein int zu schreiben. Der Konverter entscheidet je Feld und wählt int64, wenn eine ganze Zahl über 2.147.483.647 liegt.

Wie werden null-Werte in Go-Structs behandelt?

Ein Feld, das sowohl als null als auch mit Wert vorkommt, wird zum Pointer, etwa *string, sodass nil null bedeutet und eine leere Zeichenkette davon verschieden bleibt. Ein Feld, das nur je null war, wird zu any, da das Beispiel nicht sagt, was es sonst enthielte.

Was bewirkt omitempty in einem json-Tag?

Mit omitempty lässt json.Marshal das Feld weg, wenn es den Nullwert enthält: eine leere Zeichenkette, 0, false, nil oder ein leeres Slice. Der Konverter fügt es Schlüsseln hinzu, die in manchen Objekten eines Arrays fehlen, und ein Schalter fügt es jedem Feld hinzu.

Warum heißt das Feld UserID und nicht UserId?

Der Go-Stil, den golint und die meisten Linter prüfen, schreibt Akronyme in Großbuchstaben: ID, URL, HTTP, API, JSON und etwa vierzig weitere. Das json-Tag behält den ursprünglichen Schlüssel, user_id oder userId, sodass das Dekodieren weiterhin genau zur API passt.

Wird mein JSON hochgeladen?

Nein. Die Umwandlung läuft in Ihrem Browser ohne Anfrage an einen Server, und das JSON wird nicht gespeichert, sodass API-Antworten mit Tokens oder persönlichen Daten auf Ihrem Gerät bleiben. Schließen Sie den Tab, und nichts bleibt zurück.

Quellen

  • The Go Programming Language Specification, Struct typesField declarations, identifiers and tags
  • Go standard library, encoding/jsonTag syntax, omitempty, how numbers and null decode
  • golint, lint.go (commonInitialisms)The initialisms written in capitals: ID, URL, HTTP, API and others

Zuletzt geprüft am 16. Oktober 2026.

Sätze und Regeln ändern sich; prüfen Sie die Quelle, bevor Sie sich auf eine Zahl verlassen.

Kommen Sie nicht weiter? Fragen Sie zu JSON-zu-Go-Struct-Konverter und jeder, der es weiß, kann antworten. Kein Konto nötig.

Ähnliche Tools

Alle Entwickler-Tools
Base64 kodieren und dekodierenText und Dateien in Base64 und zurück, mit URL-sicherem Modus und BildvorschauUnix-Timestamp-KonverterUnix-Timestamps in Datumsangaben und Datumsangaben in Timestamps, in jeder ZeitzoneJSON in TypeScript umwandelnTypeScript-Interfaces oder -Typen aus einem JSON-Beispiel erzeugenCSV in JSON umwandelnCSV in JSON und JSON in CSV umwandeln, mit TabellenvorschauYAML in JSON umwandelnYAML in JSON und JSON in YAML umwandeln, mit aufgelösten AnkernURL-Encoder und -DecoderText und URLs prozentkodieren oder dekodieren und jeden Teil eines Links sehenZahlensystem-UmrechnerBinär, oktal, dezimal, hexadezimal und jede Basis bis 36, exakt bei jeder Größe, mit ZweierkomplementColor ConverterHEX, RGB, HSL, HWB, OKLCH and CMYK in both directions, with a contrast check
War dieses Tool hilfreich?
Omnikit

Kleine Aufgaben, erledigt in Ihrem Browser. Kostenlos, schnell und privat. Dateien werden nie hochgeladen.

Dateien

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Dev

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Finanzen

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
AnleitungenFragenÜber unsWie wir prüfenGesetzesbibliothek (Beta)DatenschutzNutzungsbedingungenOffenlegungKontaktMore: Exam practice (UGC NET Paper 1)Läuft in Ihrem Browser. Nichts wird hochgeladen. © 2026 Omnikit (theomnikit.com)