開発・デバッグ支援

JSON → Go変換

JSONサンプルからGoのstruct定義(jsonタグ付き)を自動生成します。ネストしたObjectやArrayにも対応し、処理はブラウザ内で完結します。

入力データはサーバーへ送信されませんインストール不要無料で使えます
生成される型定義は、入力したサンプルJSONからの推論結果です。実際のAPI仕様(省略可能な項目・nullになり得る項目・数値の範囲など)を保証するものではありません。生成後は必要に応じて見直してください。

Goコード

JSONを入力して「生成」を押してください。

このツールでできること

JSON → Go変換の主な機能です。

  • JSONサンプルからGoのstruct定義を自動生成できます
  • 各フィールドへjsonタグを自動付与できます元のJSONキーを保持します
  • ネストしたObjectを個別のstructとして分離できます
  • Array・Object配列・型混在配列を推論できます
  • 生成結果をワンクリックでコピーできます

使い方

JSONからGo struct定義を生成する手順を説明します。

手順を見る
  1. JSONを貼り付けます
  2. 必要に応じてルートstruct名を指定します既定は「Root」です
  3. 「生成」を押します
  4. 結果を確認し、「コピー」でクリップボードへコピーします

こんなときに使えます

こんな場面でJSON → Go変換が役立ちます。

利用シーンを見る
  • Goで外部APIのレスポンスをデコードするstructを作りたいとき
  • JSONレスポンスのサンプルからAPIクライアント用の型をすぐ用意したいとき
  • 項目数が多いJSONでstruct定義の手作業を減らしたいとき

詳しい解説

詳しい解説を見る

型推論のルール

JSONの値をstring・bool・整数(int64)・小数(float64)・struct・sliceへ推論します。空配列・型混在配列・null単独の値は any として出力します(根拠のない具体型を生成しません)。非常に大きな整数(int64の範囲を超える値)は encoding/json の json.Number を使用します。

JSON tagとフィールド名

JSONキーはexported field名(先頭大文字)へ変換し、元のキー名はjsonタグへ保持します。特殊文字を含むキーでもGoとして有効なコードを生成します。

よくある質問

フィールド名がIdではなくIDにならないのはなぜですか?

Goではid・url・http等をID・URL・HTTPのように大文字化するInitialismという慣習がありますが、本ツールではMVPとしてこの変換を行っていません。UserId等の表記になります。

omitemptyは付与されますか?

いいえ。omitemptyはAPI仕様やゼロ値の意味に影響するため、入力JSONだけから自動判定・自動付与していません。

入力したJSONはサーバーへ送信されますか?

いいえ。型生成処理はすべてブラウザ内で完結しており、入力内容がサーバーへ送信されることはありません。