ここで実行 100% ブラウザ内で動作します。アップロードもログインも不要です。
JSON to Go
JSON を Go の struct へ変換。エクスポート済みフィールド、json タグ、ネスト struct、スライス型、null は any。
使い方
- 左パネルに JSON を貼り付けます。起動時にサンプルが読み込まれています。
- ルート型名を設定します。ネストした struct はフィールド パスから自動命名されます。
- 出力はネストした struct を先に列挙し、ルート struct を最後に置きます。まとめてパッケージに貼り付けてください。
- フィールド名はエクスポート(PascalCase)され、
encoding/jsonから見えるようになります。各フィールドにjson:"元のキー"タグ付き。 - 名前衝突は数字の接尾辞で解決。インデントはタブで
gofmtと同じレイアウトです。
よくある用途
- API クライアント —— REST ペイロードを
map[string]anyの推測ではなく struct にデコード。 - Webhook ハンドラ —— プロバイダから届くイベント用の struct を定義。
- 設定の読み込み —— JSON 設定ファイルに型を付け、
json.Unmarshalで読み込む。 - Go の型の学習 —— JSON の形が struct・スライス・
anyにどう対応するかを見る。
よくある質問
Q: 数値はどんな型になりますか?
A: すべての JSON 数値は float64 になります。これは encoding/json のデフォルトでもあります。値域が分かっている箇所は手動で int や float32 に変えてください。
Q: 混在や空の配列はどうなりますか?
A: 要素型が 1 種類なら []T が出ます。複数の型が混ざる場合や空の配列は []any に退化します。データだけでは形を確定できないためです。
Q: フィールド名が JSON キーと違うのは? A: Go のフィールド名はエクスポートされ、有効な識別子である必要があるため、キーは PascalCase に変換されます。元のキーは json タグに残るので、デコードはワイヤ形式に正確に一致します。
データはこのデバイス内にとどまります
JSON to Go は 100% ローカルで動作します。貼り付けたり、ドロップしたデータはすべてお使いのブラウザ内で処理され、送信されることはありません。当社のサーバーには何も保存されません——タブを閉じればすべて消えます。
入力された内容がサーバーへ送信・記録・解析利用されることはありません。初回読み込み後はネットワークを切断していてもこのページは動作します。