← Go コース
67. encoding/json — 構造体を JSON にする(Marshal)
encoding/json パッケージは、Go の値と JSON を相互変換します。json.Marshal は値を受け取って JSON のバイト列([]byte)を返します。文字列として表示したいときは string(...) で変換します。整形して見やすく出すには json.MarshalIndent を使います。
JSON に出力されるのは、先頭が大文字でエクスポートされたフィールドだけです。小文字始まりの非公開フィールドは無視されます。キー名は既定でフィールド名そのままですが、構造体タグ `json:"name"` で別名を指定でき、omitempty を付けると空値のときに省略できます。
下の例では構造体を MarshalIndent で整形して出力します。フィールドとタグが固定なので、出力は毎回同じです。
▶ サンプルコードを実行してみよう(自由に書き換えてOK)
Go