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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Convert JSON into a PHP array literal. Choose short [] or array() syntax, indentation, and an optional variable assignment, then copy the result. 100% in your browser.
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.
0 comments
No comments yet. Be the first to share your thoughts!