YAMLとJSONの相互変換
YAMLとJSONは、設定ファイルや構造化データにおいて最も一般的なフォーマットです。Kubernetesのマニフェスト、Docker Compose、CIパイプライン、OpenAPI仕様などは通常YAMLで記述されますが、APIやJavaScript、多くのツールではJSONが使用されます。このツールは入力と同時に双方向に変換し、構文エラーがある場合はその原因を正確に表示します。
主な機能
- 双方向変換: YAML → JSON および JSON → YAML。ワンクリックで切り替え可能です。
- 構文チェック: インデントの乱れ、引用符の閉じ忘れ、無効なJSONなどに対して、分かりやすいエラーメッセージを表示します。
- マルチドキュメントYAML: 複数のYAMLドキュメントをJSON配列に変換します。
- アンカー、エイリアス、マージキー: 自動的に解決して展開します。
- インデント設定: 出力のインデントを2スペースまたは4スペースから選択できます。
- コピー&ダウンロード: 変換結果をコピー、または
.jsonや.yamlファイルとしてダウンロードできます。 - プライバシー保護: データは一切サーバーに送信されません。
変換例
以下のYAMLを:
name: web-app
replicas: 3
ports:
- 80
- 443
env:
NODE_ENV: production
以下のJSONに変換します:
{
"name": "web-app",
"replicas": 3,
"ports": [80, 443],
"env": {
"NODE_ENV": "production"
}
}
YAMLのよくある間違い
- インデントにタブを使用している。 YAMLはスペースのみ使用可能です。タブを2つのスペースに置換してください。
- インデントの不一致。 同じ階層の項目は、インデントの深さを正確に揃える必要があります。
- コロンの後のスペース忘れ。
key:valueは1つの文字列として認識されてしまいます。key: valueのように記述してください。 - 文字列内の特殊文字。
@、*、&、!、%、{、[で始まる値、または:を含む値は、クォーテーションで囲む必要があります。 - 予期しない型変換。
1.10のようなバージョン番号は数値の 1.1 として扱われ、先頭のゼロが消えることがあります。文字列として扱うべき値はクォーテーションで囲んでください。
関連ツール
JSON Formatter を使って変換後のJSONを整形・圧縮(ミニファイ)したり、JSON to CSV でJSONをスプレッドシートに変換したり、Diff Checker で2つの設定ファイルを比較したりできます。