JSONをGoに変換
JSONをGo POJO構造体に変換してGo開発用に
JSON入力
Go出力
JSONをGoとは?
Goは構造化データにstructを使用します。encoding/jsonでJSONをアンマーシャルする際、対応するstructが必要です。このツールはJSONからGo structを生成します。
設定パネルでstruct名とパッケージを設定してください。JSONタグでjson:"field_name"を有効にし、オプショナルフィールドにはポインタを有効にしてください。
変換は完全にブラウザで実行されます。JSONはサーバーに送信されません。
使い方
JSONを貼り付けまたはアップロード
JSONを左のエディタに貼り付けるか、アップロードでファイルを読み込んでください。サンプルで例データを読み込めます。設定でstruct名とパッケージ名を設定してください。
生成されたstructを確認
右パネルに生成されたGo structが表示されます。ネストオブジェクトはネストまたは別structに。配列は<code>[]Type</code>になります。無効なJSONの場合は先にJSONフォーマッターまたはJSONバリデーターで修正してください。
コピーまたはダウンロード
<strong>コピー</strong>でクリップボードに、<strong>ダウンロード</strong>で<code>.go</code>ファイルとして保存できます。
JSONをGoの例
JSONオブジェクトからGo structを生成する例です。
例:加入者レコード
JSON入力:
生成されたGo出力:
JSONをGoが役立つ場面
API統合時に必要です。サンプルレスポンスを貼り付けるとencoding/jsonで使える型付きstructが得られます。
設定ファイルもよくあるケースです。2つのJSONをマージするにはJSONマージツールを使用してください。
MongoDB、Firestore、CouchDBのデータベースエクスポートは大きなJSONです。ここで処理すると構造を理解し、Go structを生成できます。
よくある質問
JSONタグはなぜ?
Go structのフィールド名はJSON用にエクスポート(大文字)が必要です。json:"fieldName"タグでstructフィールドをJSONキーにマッピングします。
オプショナルフィールドにポインタ?
JSONフィールドがnullや欠落の場合、*Typeでゼロ値と欠落を区別できます。
データは送信されますか?
いいえ。生成はブラウザで実行されます。
omitemptyは?
空のときに出力したくないフィールドにはjson:"name,omitempty"を追加してください。
動的JSONにinterface{}?
不明な構造にはmap[string]interface{}やinterface{}を使用してください。
関連ツール
Go JSON処理はencoding/jsonを参照。JSONはJSON仕様、RFC 8259を参照。