Command Palette

Search for a command to run...

JS

JSON zu Go Struct

Konvertieren Sie JSON in Go-Strukturdefinitionen mit json-Tags Verschachtelte Objekte werden zu Inline-Strukturen, Arrays von Objekten werden zusammengeführt und Feldnamen folgen Go-Konventionen Leitet clientseitig aus.

Was ist ein JSON to Go Struct Konverter?

Ein JSON to Go-Strukturkonverter verwandelt ein JSON-Dokument in die Go-Typdeklarationen, die es beschreiben, sodass Sie dieselben Daten mit Codierung/json abmarschieren können, anstatt die Struktur von Hand einzugeben. Jedes JSON-Objekt wird zu einer Go-Struktur, jedes Feld trägt ein json:" key" - Tag, das es auf den ursprünglichen Namen zurückbildet, und die Skalartypen werden aus den Werten abgeleitet: Eine JSON-Zeichenfolge wird zu Zeichenfolge, eine ganze Zahl wird zu int, eine Dezimalzahl wird zu float64, wahr und falsch wird zu bool, und null wird zu interface {}. Fügen Sie eine Nutzlast ein und Sie erhalten einen kompilfertigen Typblock zurück.

Es existiert, weil das Schreiben von Go-Strukturen aus einer echten API-Antwort mühsam und leicht subtil falsch zu machen ist Feldnamen müssen exportiert werden und Go-Konventionen folgen, so wird id zu ID und user_url wird zu UserURL, während das json-Tag den genauen Originalschlüssel oder json bewahren muss.Unmarshal überspringt still das Feld Verschachtelte Objekte brauchen ihre eigene Struktur, und ein Array von Objekten benötigt eine einzige Struktur, die jeden Schlüssel abdeckt, den jedes Element hat. Wenn man das über eine tief verschachtelte Antwort hinweg macht, schleichen sich Fehler ein Der Konverter wendet diese Regeln konsequent an: Verschachtelte Objekte werden zu Inline-Strukturen, und Arrays von Objekten werden so zusammengeführt, dass ein Schlüssel, dass nur in einigen Elementen erscheint, der generierte Typ noch vorhanden ist.

Alles läuft in Ihrem Browser. Das JSON, das Sie einfügen, wird in JavaScript auf Ihrem eigenen Gerät analysiert und analysiert, sodass nichts hochgeladen, protokolliert oder gespeichert wird und das Tool weiterhin mit dem Netzwerk arbeitet, das nicht mehr verbunden ist, sobald die Seite geladen wurde. Das ist wichtig, wenn die Nutzlast eine private API-Antwort ist oder Schlüssel und Werte enthält, die Sie lieber nirgendwo senden möchten. Sie können den Stammtyp umbenennen, die ganzen Zahlen auf int64 umschalten, wenn Sie den breiteren Typ benötigen, und jedem Tag Auslassungspunkte hinzufügen, wenn Sie möchten, dass in der codierten Ausgabe keine Werte weggelassen werden.

Ein kurzes Beispiel zeigt die go JSON to struct mapping Einfügen {"order_id": 1042, "total": 19,5, "items": [{"sku": "A1", "qty": 2}, {"sku": "B2", "qty": 1, "gift_note": "Happy birthday"}}, Reihenfolge als Root-Typ eingeben und auf Konvertieren klicken Sie den Typ Order struct mit OrderID int, Total float64 und Items []struct holding Sku string, Qty int und GiftNote string. GiftNote item ist in jedem Array vorhanden, da es obwohl es nur den zweiten Converter von Goift gibt.

Wie verwende ich den JSON to Go-Strukturkonverter?

  1. Füge deinen JSON ein

    Fügen Sie ein JSON-Objekt oder Array in das Eingabefeld ein Laden Sie zuerst das Sample, wenn Sie die Form der generierten Struktur sehen möchten, bevor Sie Ihre eigenen Daten verwenden.

  2. Benennen Sie den Wurzeltyp

    Geben Sie einen Namen für die Struktur der obersten Ebene ein, z. B. Benutzer oder ApiResponse. Es wird in eine gültige exportierte Go-Kennung bereinigt, sodass es wie geschrieben kompiliert wird.

  3. Ganzzahl - und Tag-Optionen festlegen

    Wählen Sie int oder int64 für ganze Zahlen und schalten Sie weglassend ein, wenn leere Felder weggelassen werden sollen, wenn die Struktur wieder in JSON codiert wird.

  4. Konvertieren und kopieren

    Klicken Sie auf Konvertieren, um die Strukturdefinitionen zu erstellen, und kopieren Sie sie dann in Ihre Go-Datei. Ungültiges JSON wird mit der genauen Parser-Nachricht gemeldet, damit Sie es beheben können.

Hauptmerkmale

  • Json-Tags korrigieren

    Jedes Feld behält ein json:"original_key" - Tag, sodass json.Unmarshal die Daten wieder dem genauen JSON-Namen zuordnet, selbst wenn das Go-Feld umbenannt wird, um Konventionen zu folgen.

  • Go-Convention-Feldnamen

    Schlüssel werden exportiert und gängige Initialismen werden in Großbuchstaben gesetzt, sodass id zur ID wird, user_url zu UserURL wird und html_body zu HTMLBody wird, was den Golint-Erwartungen entspricht.

  • Inline verschachtelte Strukturen

    Verschachtelte JSON-Objekte werden zu Inline-Strukturliteralen in beliebiger Tiefe, sodass die gesamte Form in einer Deklaration lebt, die Sie als einzelner Block einfügen können.

  • Zusammengefügte Arrays von Objekten

    Ein Array von Objekten erzeugt eine Struktur, die jeden Schlüssel abdeckt, den ein Element hat, und widersprüchliche Werttypen für einen Schlüssel fallen auf die Schnittstelle {} zurück, anstatt zu scheitern.

Frequently Asked Questions

Ein JSON to Go-Strukturkonverter transformiert ein JSON-Dokument in die Go-Typdeklarationen, die es beschreiben Jedes Objekt wird zu einem Struct, jedes Feld erhält ein json: "key" - Tag, und die Werttypen werden abgeleitet, sodass Sie dieselben Daten mit Codierung/json unmarshalen können, ohne die Struktur von Hand zu schreiben.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

json to gojson to go structgo json to structjson to golang structgo struct generatorjson to structconvert json to gogolang struct from jsonfree json to gono signup json to go