YAMLとJSONを相互に変換します。設定ファイルの書き換えや、APIレスポンスを読みやすい形にするときに使えます。
2つの形式の違い
YAMLはJSONの上位互換にあたり、JSONはそのままYAMLとして解釈できます。逆にYAMLをJSONに変換すると、コメントは失われます。
| YAML | JSON | |
|---|---|---|
| 読みやすさ | 高い(記号が少ない) | やや低い |
| コメント | 書ける(#) | 書けない |
| 構造の表現 | インデント | 括弧 |
| 主な用途 | 設定ファイル(CI、Kubernetes) | API、データ交換 |
YAMLで気をつける点
- インデントにタブは使えません(スペースのみ)
- 「yes」「no」「on」「off」が真偽値として解釈される場合があります
- コロンの後にはスペースが必要です(key: value)
- 「01」のような値は、クォートしないと数値として扱われることがあります
- 国コードの「NO」(ノルウェー)が false になる問題は有名です
使いどころ
- GitHub ActionsやCI設定ファイルの検証
- Kubernetesのマニフェストを確認する
- APIのJSONレスポンスをYAMLにして読む
- 設定値の記述ミスを見つける
設定ファイルを壊さないために
設定ファイルの構文エラーは、サービスが起動しない原因になります。反映前の検証を習慣にしてください。
- 編集前に必ずコピーを取る
- インデントは半角スペースで統一する
- 変更後は構文チェックを通してから反映する
- 値をクォートで囲むべきか判断に迷ったら、囲んでおくほうが安全です
よくある質問
Q JSONはYAMLとして扱えますか?
扱えます。YAMLはJSONの上位互換として設計されています。
Q コメントは変換後も残りますか?
残りません。JSONにはコメントの構文が無いため、変換時に失われます。
Q インデントにタブを使えますか?
使えません。YAMLの仕様でスペースのみと定められています。
Q データは送信されますか?
されません。変換はブラウザ内で行っています。
