開発・デバッグ支援
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を貼り付けます
- 必要に応じてルートstruct名を指定します既定は「Root」です
- 「生成」を押します
- 結果を確認し、「コピー」でクリップボードへコピーします
こんなときに使えます
こんな場面で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はサーバーへ送信されますか?
いいえ。型生成処理はすべてブラウザ内で完結しており、入力内容がサーバーへ送信されることはありません。