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?
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.
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.
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.
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
Related Tools
JSON Schema Generator
Generate a JSON Schema from any JSON sample. Infers types, merges arrays of objects into one item schema, derives required fields, and detects date-time, email, uri, and uuid formats. Draft-07 and 2020-12 output. 100% client-side.
JSON Sorter
Sort the keys of a JSON object alphabetically, recursively through nested objects, with optional array sorting. Ascending or descending, minify or pretty. Client-side, no signup.
JSON to PHP Array
Convert JSON into a PHP array literal. Choose short [] or array() syntax, indentation, and an optional variable assignment, then copy the result. Runs client-side.
JSON to TypeScript
Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.
Comments
0 comments
No comments yet. Be the first to share your thoughts!