JSON to Go 構造体コンバーター
サンプルの JSON ペイロードを貼り付けると、対応する Go の型定義が即座に得られます — 変換は入力と同時にライブで、すべてブラウザ内で実行されます。オブジェクトのキーは encoding/json がマーシャリングできるようエクスポートされた PascalCase のフィールド名に変換され、各フィールドには元のキーを保持する json:"…" タグが付くため、標準ライブラリで往復させても元の JSON がそのまま再現されます。整数は int64、小数は float64 にマッピングされ、ネストしたオブジェクトはペイロードの形をそのまま映すインラインの無名構造体になります。 型は 1 つのサンプルから推論されるため、出力はよくできた下書きとして扱ってください。サンプルでたまたま 42 だったフィールドは、API が 41.5 を返し得るとしても int64 になります。null と空配列は要素の型情報がないため interface{} になり、スライスの型は先頭要素だけから決まります。結果を確認し、より正確に分かっている部分は型を絞り、省略可能なフィールドには ,omitempty やポインタ型を手で加えてください。入力は端末の外に出ることはなく、リロードしても残るよう localStorage に保存されます。
使い方
- 入力ボックスに JSON のサンプルを貼り付けるか入力します — 変換はライブで行われ、押すボタンはありません。
- 必要ならルート構造体名を付けます(既定は AutoGenerated)。名前はエクスポートされた PascalCase 識別子に正規化されます。
- コピーボタンで生成された定義をコピーし、Go ファイルに貼り付けます。
- 推論された型を見直します。小数になり得る数値は広げ、interface{} のプレースホルダーを置き換え、省略可能なフィールドには ,omitempty を追加してください。
よくある質問
- 数値はどの型になりますか?
- 整数は int64、小数部があるものは float64 になります。1 つのサンプルからの推論なので、小数になり得るフィールドは自分で float64 に変更してください。正確な十進処理が必要なら json.Number の利用も検討を。
- null や空配列はどう扱われますか?
- null は interface{}、空配列は []interface{} にマッピングされます。サンプルに型情報がまったくないためです。実際の型が分かったら置き換えてください — null になり得るフィールドは Go ではポインタで表すのが適切なことが多いです。
- フィールド名と json タグはどう決まりますか?
- キーを英数字以外の文字で分割し、PascalCase に連結してエクスポートされた識別子にします(user_id は UserId になります)。encoding/json はエクスポートされたフィールドしか見えないためです。元のキーは json タグにそのまま保持されるので、マーシャリングすれば入力どおりのキーが再現されます。
- ネストしたオブジェクトは別の名前付き型になりますか?
- いいえ — インラインの無名構造体として出力され、どこにでも貼れる自己完結した 1 つの宣言に収まります。同じ形が複数箇所で繰り返されるなら、手動で名前付き型に抽出してください。また、配列の要素型は先頭要素だけから推論するため、型が混在する配列は検出されません。
- 私の JSON は送信・保存されますか?
- ブラウザの外には出ません — 解析も生成も純粋なクライアントサイド JavaScript です。利便性のため入力とルート名はブラウザの localStorage に保存され、リロード後も残ります。共有端末で機密データを貼り付けた場合は入力を消しておきましょう。
関連ツール
JSON to Rust 構造体コンバーター (serde)
JSON オブジェクトを serde の derive と型マッピングフィールドを備えた Rust 構造体にブラウザ上で変換します。
Open Graph & Twitter Card ジェネレータ
フォーム入力で貼り付けるだけの `<meta>` ブロック — Facebook・LinkedIn・Slack 用 Open Graph と X・Discord 用 Twitter Card タグ。
JSON to Python データクラスコンバーター
JSON オブジェクトを型ヒント付きの Python @dataclass 定義にブラウザ上で変換します。
JSON to Kotlin データクラスコンバーター
JSON オブジェクトを型付きプロパティを備えた Kotlin データクラスにブラウザ上で変換します。
JSON to C# クラスコンバーター
JSON オブジェクトを自動プロパティの型マッピング付き C# クラスにブラウザ上で変換します。
JSON to Java クラス(POJO)コンバーター
JSON オブジェクトを型マッピングフィールドを備えた Java POJO クラスにブラウザ上で変換します。