本文へスキップ
ToolMug

JSON → Go 構造体 変換ツール

JSON を貼り付けると、encoding/json ですぐに使える json タグ付きの Go の構造体定義を生成します。フィールド名は Go の命名規則に従い、ネストしたオブジェクトは個別の型になり、列は gofmt と同じようにそろえられます。

ブラウザ内で動作 — 入力した内容はアップロードされません

使い方

  1. JSON のサンプルを貼り付けるか、「サンプルを読み込む」をクリックします。
  2. ルートの構造体の名前を設定します。
  3. 生成されたコードをコピーまたはダウンロードして、パッケージに追加します。

オプションの説明

ルート型の名前
最上位の構造体の名前です。ネストした構造体はキーの名前から命名されます。

例

{"user_id": 7, "email": null, "tags": ["a"]} は次のようになります:

type Root struct {
	UserID int64    `json:"user_id"`
	Email  any      `json:"email"`
	Tags   []string `json:"tags"`
}

よくある質問

フィールド名はどのように決まりますか?

キーはエクスポートされる PascalCase の名前に変換され、よく使われる頭字語は Go のスタイルの推奨どおり大文字で書かれます。たとえば user_id は UserID に、homeUrl は HomeURL になります。元のキーは json タグに残ります。

ポインターや omitempty はいつ使われますか?

配列の一部の要素にないキーには omitempty が付きます。null になることがある値は、null と空の値を区別できるようにポインター(*string)になります。省略可能なネストした構造体もポインターになります。

どの数値型が使われますか?

整数は int64 に、小数を含む数値は float64 になります。同じキーで要素によって両方がある場合は float64 が使われます。

JSON はアップロードされますか?

いいえ。型はブラウザ内で生成されるため、実データを含む API レスポンスも端末の外に出ません。

プライバシー

このツールはすべてブラウザ内で動作します。ファイルやテキストはお使いの端末上で処理され、当サイトのサーバーにアップロードされることはありません。

関連ツール