Dev Study
Go コース

67. encoding/json — 構造体を JSON にする(Marshal)

encoding/json パッケージは、Go の値と JSON を相互変換します。json.Marshal は値を受け取って JSON のバイト列([]byte)を返します。文字列として表示したいときは string(...) で変換します。整形して見やすく出すには json.MarshalIndent を使います。

JSON に出力されるのは、先頭が大文字でエクスポートされたフィールドだけです。小文字始まりの非公開フィールドは無視されます。キー名は既定でフィールド名そのままですが、構造体タグ `json:"name"` で別名を指定でき、omitempty を付けると空値のときに省略できます。

下の例では構造体を MarshalIndent で整形して出力します。フィールドとタグが固定なので、出力は毎回同じです。

▶ サンプルコードを実行してみよう(自由に書き換えてOK)

Go
公式ドキュメントで詳しく ↗