JSON⇔YAML変換ツール
使い方
- 変換方向を選択:JSONからYAML、またはYAMLからJSON。
- 入力欄にデータを貼り付けまたは入力します。
- 変換結果がリアルタイムで更新されます。
- コピーボタンで出力をコピーできます。
JSON vs YAML
JSON(JavaScript Object Notation)は中括弧と角括弧を使う厳密な構文です。YAML(YAML Ain't Markup Language)はインデントベースの構文でより人間に読みやすいです。どちらも設定ファイル、API、データ交換に広く使われています。YAMLはKubernetes、Docker Compose、CI/CDパイプラインで特に人気です。
変換の注意点
- JSONはより厳密:すべてのキーは引用符が必要で、コメントは許可されません。
- YAMLはコメント(#)、複数行文字列、アンカーをサポートしますが、これらはJSONでは表現できません。
- このツールは一般的なYAML構造を処理します。非常に複雑なYAML(アンカー、タグ)には専用パーサーが必要な場合があります。
活用シーン
- Kubernetes:JSONマニフェストをkubectl apply、Helmチャート、Kustomizeオーバーレイ用のYAMLに変換。
- Docker Compose:JSONのサービス定義をdocker-compose.ymlが必要とするYAML形式に変換。
- Ansible:JSONの変数ファイルやAPIレスポンスをAnsibleプレイブックやロール用のYAMLに変換。
- CI/CDパイプライン:JSON設定をGitHub Actions、GitLab CI、CircleCI、Azure Pipelines用のYAMLに変換。
- 設定管理:スタック内の異なるツールが異なる形式を必要とする場合に、JSONとYAMLの表現を切り替え。
YAMLについて
YAML(YAML Ain't Markup Language)は、人間にとって読みやすいデータシリアライゼーション形式です。構造の表現に中括弧ではなくインデントを使用するため、設定ファイルが視覚的にすっきりします。コメント、複数行文字列、再利用のためのアンカーとエイリアス、型付き値など、JSONにはない機能をサポートしています。Infrastructure as Codeツールやコンテナオーケストレーションプラットフォームの標準形式として広く採用されています。
プライバシー
すべての変換処理はブラウザ内で完結します。データがサーバーに送信されることはありません。
よくある質問
JSONとYAMLはどちらを使うべきですか?
YAMLは人間が読み書きしやすくコメントも書けるため、設定ファイル(Kubernetes、Docker Compose、CIなど)に向いています。JSONはより厳密で、APIやデータ交換で広く使われます。本ツールは双方向に変換できるので、各ツールが要求する形式に合わせて使い分けられます。
シークレットや認証情報を含む設定ファイルを変換しても安全ですか?
はい。変換はすべてブラウザ内で実行され、アップロード・保存・ログ記録は一切ありません。APIキーや接続文字列を含むファイルでも端末内にとどまります。ただし画面共有中に本番のシークレットを貼り付けるのは避けてください。
YAMLのコメントはJSONへの変換で残りますか?
残りません。JSONにはコメントの概念がないため、YAML→JSON変換で # コメントは失われ、戻す際にも復元できません。複数行文字列などYAML固有の機能も同様に正規化されます。
アンカーやタグなど高度なYAMLにも対応していますか?
一般的なYAML構造は確実に処理しますが、アンカー・エイリアス・カスタムタグを多用した非常に複雑な文書は完全には往復できない場合があります。その場合は専用のYAMLプロセッサが適しています。
YAML出力のインデントは調整できますか?
はい。インデント設定で各ネスト階層に使うスペース数を選べるので、プロジェクトのスタイル規約に合わせて出力できます。