JSON から Go

JSON から JSON タグ付きの Go 構造体を生成

JSON 入力

オプション

モデル
シリアライズ
詳細設定

Go 出力

JSON を貼り付けるか例を読み込むと、Go のコードを生成します。

JSON to Go が生成するもの

JSON to Go は API レスポンスや任意の JSON サンプルを、encoding/json でそのまま使える Go の構造体定義に変換します。エクスポートされたフィールドにはすべて json:"key" タグが付くため、名前を変えたフィールドもデコードできます。構造体タグで表現できないキー(空のキー、引用符、カンマ、絵文字などの記号)は誤った名前に黙ってマッピングするのではなく、json:"-" で除外して注意に表示します。

使い方
  1. 1.JSON を貼り付けるか、.json ファイルをアップロードまたはドロップするか、例を読み込みます。
  2. 2.ルート構造体名とパッケージ(既定は main)を設定します。
  3. 3.ポインターと omitempty のオン・オフを切り替えます。「詳細」では入れ子の構造体をインライン化できます。
  4. 4.出力の下の注意を読んでから、コードをコピーするか models.go をダウンロードします。
型の推論方法
  • •最初の要素だけでなく配列のすべての要素を確認し、同じ配列内のオブジェクトは統合します。
  • •一部のオブジェクトにないキーは省略可能、ときどき null になるキーは null 許容になります。この 2 つは区別して扱います。
  • •同じ位置にある 1 と 2.5 は小数に拡張され、それ以外の混在は報告されます。
  • •空の配列や常に null の値には型の手がかりがないため、汎用的な型を使用し、その理由を注意で説明します。
  • •型の対応:string → string、整数 → int64(それを超える場合は uint64 または json.Number)、小数 → float64、真偽値 → bool、配列 → []T、オブジェクト → struct、不明または混在 → any。
  • •ポインターをオンにすると、null 許容または省略可能なスカラーと構造体は *T になります。スライスと any はもともと nil 値を持つため、ポインターにはなりません。
omitempty、制限とプライバシー

omitempty はサンプルで欠けていたか null だったフィールドにのみ追加されます。エンコード時には 0、""、false などのゼロ値も省略するため、「省略可能」と同じ意味ではありません。サンプルはある時点でのデータの形を示すだけで、API の完全な仕様ではありません。コードを使う前に、省略可能なフィールド、汎用的な型、数値の幅を確認してください。入力は 5 MB、入れ子 256 階層までです。2 MB 以上の場合は「生成」ボタンを押すまで生成されません。処理はすべてブラウザー内で行われ、JSON がアップロードされることはありません。

CodingToolが正式に公開されました

Launched on StartupBaseCodingTool.dev - Free, Fast & Easy Developer Tools in One Place | Product HuntCodingTool - Featured on Startup FameFazier badgeListed on Turbo0Featured on Twelve ToolsFeatured on Findly.toolsLaunchpadly Startup DirectoryCodingTool.dev — Featured on Smol Launch