JSON to Go struct コンバーターは、JSON ドキュメントを、それを記述する Go 型宣言に変換するため、 struct を手入力するのではなく、 encoding/json で同じデータのマーシャルを解除できます。 すべての JSON オブジェクトは Go struct になり、すべてのフィールドは元の名前にマップする json: "key" タグを運び、スカラー型は値から推測されます: JSON 文字列は string になり、整数は int になり、小数は float64 になり、true と false は bool になり、null は interface{} ペイロードを貼り付けると、すぐにコンパイルできる型ブロックが戻ります。
これは、実際の API レスポンスから Go 構造体を記述するのが面倒で、微妙に間違えやすいために存在します。フィールド名はエクスポートして Go の規則に従う必要があるため、id は ID になり、user_url は UserURL になりますが、json タグは正確な元のキーまたは json.Unmarshal を保持する必要があります。フィールドを静かにスキップします。ネストされたオブジェクトには独自の構造体が必要であり、オブジェクトの配列には任意の要素が持つすべてのキーをカバーする単一の構造体が必要です。深くネストされたレスポンス全体でそれを行うと、間違いが忍び込みます。コンバーターはこれらのルールを一貫して適用します。ネストされたオブジェクトはインライン構造体になり、オブジェクトの配列はマージされるため、一部の要素にのみ表示されるキーは生成されたタイプにまだ存在します。
すべてがブラウザで実行されます 貼り付けたJSONは、自分のデバイス上のJavaScriptで解析および分析されるため、アップロード、ログ、または保存されるものは何もなく、ページがロードされるとツールはネットワークを切断したまま動作し続けます ペイロードがプライベートAPI応答であるか、どこにも送信しないキーと値が含まれている場合に重要です。 rootタイプの名前を変更したり、より広いタイプが必要な場合は整数をint64に切り替えたり、エンコードされた出力からゼロ値を省略したい場合はすべてのタグにomitemptyを追加したりできます。
入力ボックスにJSONオブジェクトまたは配列を貼り付けます 独自のデータを使用する前に、生成された構造体の形状を確認したい場合は、最初にサンプルをロードします。
User や ApiResponse などの最上位構造体の名前を入力します。これは、有効なエクスポートされた Go 識別子にクリーンアップされるため、記述されたとおりにコンパイルされます。
整数には int または int64 を選択し、構造体がエンコードされて JSON に戻ったときに空のフィールドを省略したい場合は、omitempty をオンにします。
「変換」をクリックして構造体定義を構築し、それらを Go ファイルにコピーします。無効な JSON は正確なパーサー メッセージで報告されるため、修正できます。
すべてのフィールドは json: "original_key" タグを保持するため、go フィールドの名前が規則に従って変更されている場合でも、json.Unmarshal はデータを正確な JSON 名にマッピングし直します。
キーがエクスポートされ、一般的な初期主義が大文字になるため、id は ID、user_url は UserURL、html_body は HTMLBody となり、golint の期待値と一致します。
ネストされた JSON オブジェクトは、任意の深さまでインライン構造リテラルになるため、形状全体が 1 つの宣言内に存在し、1 つのブロックとして貼り付けることができます。
オブジェクトの配列は、要素が持つすべてのキーをカバーする 1 つの構造体を生成し、キーの競合する値型は失敗するのではなく、interface{} にフォールバックします。
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!