YAML → JSON 変換ツール|リアルタイム
YAMLをJSON形式に変換します。インデント幅の指定に対応。
YAML → JSON 変換ツール|リアルタイムとは
YAMLをJSON形式に変換する無料オンラインツールです。Kubernetes・Docker Compose・GitHub ActionsなどのYAML設定ファイルをAPI連携やプログラム処理に便利なJSON形式へ即座に変換できます。インデント幅の指定にも対応し、すべての変換処理はブラウザ上で完結します。
使い方
- 1変換したいYAMLをテキストエリアに貼り付けてください。
- 2インデント幅(2スペース・4スペース)を選択してください。
- 3「JSONに変換」ボタンをクリックすると変換結果が表示されます。
- 4「コピー」ボタンでJSON出力をクリップボードにコピーして使用してください。
メリット・特徴
- YAMLのマッピング・シーケンス・スカラー値を正確にJSONへ変換
- インデント幅を2スペース・4スペースから選択してJSON出力を調整
- Kubernetes・Docker Compose・GitHub ActionsのYAML設定をJSON化して活用
- YAMLコメントはJSON変換時に自動的に除去(JSON仕様準拠)
- 入力したYAMLはブラウザ内のみで処理され、サーバーに送信されない
- 登録不要・インストール不要で即使用可能な完全無料ツール
YAMLとJSONの相互変換の基礎
YAMLとJSONはどちらも構造化データを表現するフォーマットですが、設計思想が異なります。YAMLは「人間が読みやすいこと」を重視してコメントやインデントベースの構文を採用し、設定ファイルで広く使われます。JSONは「機械が処理しやすいこと」を重視してAPIやデータ交換で主流です。両形式を相互変換できることで、設定管理とAPIデータ処理の橋渡しができます。
YAMLの構文とJSONへの対応関係
YAMLのマッピング(key: value形式)はJSONのオブジェクト({"key": "value"})に対応します。YAMLのシーケンス(- 要素形式)はJSONの配列(["要素"])に対応します。YAMLの文字列はクォートなしで書けますが、JSONでは必ずダブルクォートが必要です。YAMLのtrue/false/nullはJSONのtrue/false/nullに対応し、数値もそのままJSONの数値として変換されます。この対応関係を理解することで変換結果の予測が立てやすくなります。
YAMLをJSONに変換すべき場面
YAMLからJSONへの変換が必要になる主な場面として、KubernetesのYAMLマニフェストをkubectl apply --dry-run後にJSON APIで処理する場合や、YAML設定ファイルの内容をREST APIのリクエストボディとして使用する場合、GitHub ActionsのワークフローYAMLをプログラムで解析・生成するためにJSONに変換する場合などがあります。インフラとアプリケーションのデータ連携でYAML→JSON変換は頻繁に発生します。
YAMLの高度な機能と変換時の注意点
YAMLにはJSONにない高度な機能があります。アンカー(&)とエイリアス(*)は変換時にデータとして展開され、JSON内での参照は保持されません。複数ドキュメント(---区切り)が含まれるYAMLファイルは最初のドキュメントのみが変換される場合があります。型タグ(!!str・!!intなど)は変換時に型情報として使われますが、JSONには型タグの概念がないため出力には含まれません。
DevOpsツールとYAML→JSON変換の実践
Kubernetes・Docker・Ansible・Terraform・GitHub Actionsなど現代のDevOpsエコシステムはYAMLを設定ファイル形式として採用していますが、APIの呼び出し・スクリプト処理・監視ツールとの連携にはJSON形式が必要なことが多くあります。YAML→JSON変換はこのギャップを埋める重要なスキルです。
KubernetesリソースのYAML→JSON活用
Kubernetesではkubectl get pod -o yaml(YAML出力)とkubectl get pod -o json(JSON出力)のどちらも使えますが、kubectl patchコマンドへの引数やKubernetes APIへの直接リクエストにはJSON形式が求められる場合があります。また、Kubernetes設定のプログラム処理・jqコマンドによる絞り込みではJSON形式が便利です。このツールでYAMLをJSONに変換してjqと組み合わせることで、複雑なKubernetes設定の解析が効率化されます。
GitHub Actions・CI/CDパイプラインでの活用
GitHub ActionsのワークフローはYAML形式で定義しますが、ワークフローの設定を動的に生成・更新するスクリプトではJSON形式でデータを扱うことが多くあります。GitHub REST APIはJSON形式でやり取りするため、ワークフロー設定をYAMLからJSONに変換することでAPIとの連携が容易になります。CI/CDの設定をコード管理(IaC)する際も、YAML設定とJSON APIの橋渡しにこのツールが活用できます。
Ansibleプレイブックとインフラ設定の変換
AnsibleのプレイブックはYAML形式で記述しますが、Ansible AWX(Tower)のREST APIはJSON形式でジョブテンプレート・インベントリーのデータを受け付けます。YAMLで書いたインベントリやvar設定をJSONに変換してAnsible AWX APIに渡す用途にこのツールが活用できます。また、TerraformのJSON設定形式(.tf.json)はHCL(.tf)のYAML的な構文をJSONで記述する形式で、HCLに慣れていないチームメンバーとの設定共有にも役立ちます。
よくある質問(FAQ)
- YAMLとJSONの違いは何ですか?
- YAMLはインデントベースで人間が読み書きしやすい形式で、コメントも書けます。JSONは波括弧・角括弧を使う形式で、APIやプログラム間のデータ交換で広くサポートされています。YAMLはJSONのスーパーセットであるため、有効なJSONは常に有効なYAMLでもあります。
- YAMLのコメントはJSON変換後も残りますか?
- いいえ。JSONにはコメントの概念がないため、YAML内の「# コメント」はすべて変換時に削除されます。
- Kubernetesやdocker-compose.ymlの変換に使えますか?
- はい。Kubernetes・Docker Compose・GitHub ActionsなどのYAML設定ファイルをJSON形式に変換できます。ただし、YAMLアンカー(&)やエイリアス(*)などの高度な機能が含まれる場合は変換結果の確認をお勧めします。
- YAMLの複数行テキスト(|や>)は正しく変換されますか?
- はい。ブロックスカラー(|:リテラルブロック)とフォールデッドスカラー(>:折り畳みブロック)はJSONの文字列値として正しく変換されます。改行の扱いがYAML仕様に従って処理されます。
- YAMLのアンカーとエイリアスは変換できますか?
- はい。YAMLのアンカー(&name)とエイリアス(*name)による参照は、変換時に展開されてJSON内でデータとして表現されます。YAMLの参照機能は変換後のJSONには保持されません。
- YAML構文エラーがある場合はどうなりますか?
- 変換前にYAMLの構文を検証します。インデントのズレ・コロンの欠落などの構文エラーがある場合はエラーメッセージが表示されます。エラー箇所を修正してから再度変換してください。
不具合や動作がおかしい点を見つけたら教えてください。
不具合報告はこちら →