YAML を JSON に変換
js-yaml ライブラリを使って YAML を標準 JSON オブジェクトへ変換する無料オンラインツールです。マッピングやリストは自動で JSON オブジェクト・配列へ変換され、pretty 出力も切り替え可能です。タブ、未閉合の引用符、不正なインデント、キー形式など 5 種類のよくある YAML エラーもブラウザ内で自動修正します。
関連おすすめ
YAML を JSON に変換する理由
YAML は人間が読みやすい設定記述に向いた形式で、Kubernetes、Docker Compose、Ansible、GitHub Actions などの設定ファイルで広く使われています。一方、JSON は Web API、JavaScript、各種 SDK で扱いやすい標準データ形式です。このツールは、YAML 設定をそのまま機械処理しやすい JSON に変換するためのものです。
変換の中心は js-yaml による YAML 解析です。YAML のマッピングは JSON オブジェクト、リストは JSON 配列、文字列・数値・真偽値・null は対応する JSON 型に変換されます。コメントは JSON 標準に存在しないため出力には残りません。
pretty 出力を使えば 2 スペース整形の読みやすい JSON を取得でき、オフにすれば API 送信や保存に向く 1 行 JSON を出力できます。日常的な設定確認にも、CI/CD でのデータ受け渡しにも使いやすい構成です。
実際の YAML にはタブ混在、未閉合の引用符、崩れたインデント、特殊なキー名などのミスがよくあります。このツールの tryFixYAML はそのような 5 種類の一般的な問題を自動補正し、ブラウザ内だけで安全に変換できます。
ユースケース
- Kubernetes manifest や Helm values.yaml を JSON に変換して jq や検証処理に回したいとき
- docker-compose.yml を JSON に変換して他のツールや API へ渡したいとき
- GitHub Actions や GitLab CI の YAML を JSON として比較・加工したいとき
- Ansible playbook や監視設定ファイルをプログラムから扱いやすい JSON にしたいとき
- OpenAPI / Swagger の YAML 定義を JSON に変換して生成ツールへ渡したいとき
- YAML と JSON の型対応や構文差を学習・説明したいとき
使い方
- 左側に YAML を貼り付けるか、.yaml / .yml / .txt ファイルをアップロードします
- 入力後 400ms で自動変換され、右側に JSON 結果が表示されます
- 必要に応じて「フォーマット出力」を切り替え、整形 JSON と圧縮 JSON を選びます
- エラーが出た場合は「構造を修復」で一般的な YAML ミスを自動修正します
- 結果をコピーするか、converted.json としてダウンロードして利用します
特徴
- js-yaml ベースで YAML のマッピング、リスト、ネスト構造、複数行文字列、アンカーとエイリアスを解析します
- タブ、未閉合の引用符、不正なインデント、特殊なキー名、行末空白の 5 種類の YAML エラーを自動修正します
- pretty 出力では 2 スペース整形の JSON、オフでは圧縮された 1 行 JSON を出力できます
- ネストした YAML 構造を JSON のオブジェクトと配列へ再帰的に変換します
- YAML コメントは無視され、変換後の JSON は純粋なデータだけを保持します
- 入力後 400ms の自動変換で、構成ファイルをすばやく確認できます
- 右側は JSON 構文ハイライト付きで、複雑な出力も読みやすく確認できます
- アップロード、コピー、ダウンロード、履歴復元までブラウザ内で完結します
- すべての解析と変換はローカル処理で行われ、設定内容はサーバーへ送信されません
よくある質問
YAML を JSON に変換する方法は?
左側に YAML を貼り付けるか、.yaml / .yml / .txt ファイルを読み込むと、ツールが js-yaml で内容を解析し、標準 JSON へ自動変換します。YAML のマッピングは JSON オブジェクト、リストは JSON 配列として出力されます。入力後は約 400ms で自動変換されます。
YAML のコメントは JSON に残りますか?
残りません。YAML の # コメントは人間向けの補足情報なので、解析時に無視されます。変換後の JSON は純粋なデータのみを保持します。コメントを残したい場合は、元の YAML を別途保管するか、JSON 内に comment フィールドを明示的に持たせてください。
インデントや引用符に問題がある YAML も修復できますか?
はい。ツールには tryFixYAML が組み込まれており、タブの空白変換、未閉合の引用符、崩れたインデント、特殊キー名、行末空白など 5 種類のよくある YAML ミスを自動修正できます。ただし大きく壊れた YAML は手動確認が必要な場合があります。
トラブルシューティング
YAML の解析エラーが出る
多くはインデント不一致、タブ混在、未閉合引用符、コロン不足が原因です。まず構造修復を試し、その後に YAML の階層を見直してください。
コメントが JSON に残らない
JSON はコメントを標準サポートしないため、YAML の # コメントは変換時に除去されます。必要なら別フィールドで保持してください。
アンカーとエイリアスが消えた
js-yaml はアンカー参照を展開してから JSON に変換します。そのため JSON には参照記法ではなく展開済みデータが出力されます。
日付が文字列になった
YAML の日付は内部的に Date として扱われても、JSON 出力時には ISO 形式の文字列になります。JSON に日付型はありません。
複数文書 YAML を扱いたい
このツールは現在単一文書の変換を前提にしています。--- で分かれた YAML は分割して個別に変換するのが安全です。
用語集
- YAML
- 人間向けの可読性を重視したデータシリアライズ形式。Kubernetes や Docker Compose の設定で広く使われます。
- JSON
- JavaScript Object Notation。API、Web アプリ、各種プログラムで広く使われる標準データ形式です。
- js-yaml
- JavaScript 向けの成熟した YAML パーサー。YAML を JavaScript オブジェクトに変換するために使われます。
- Indentation
- YAML で階層を表すインデント。通常はスペースを使い、タブは避ける必要があります。
- Anchor
- YAML の &name 構文。再利用したい値や構造に名前を付ける機能です。
- Alias
- YAML の *name 構文。前に定義したアンカーを参照するときに使います。
- Pretty Output
- 2 スペース整形と改行付きの JSON 出力。人間が読みやすい形式です。
- tryFixYAML
- このツール内蔵の YAML 修復ロジック。一般的な構文ミスを変換前に自動補正します。
YAML と JSON の型対応
基本的な YAML 構造は次のように JSON へ変換されます。
| YAML 型 | YAML 例 | JSON 出力 | 変換ルール |
|---|---|---|---|
| string | name: Alice | "name": "Alice" | 文字列は JSON 文字列になります。 |
| number | age: 30 | "age": 30 | 数値はそのまま数値型で保持されます。 |
| boolean | enabled: true | "enabled": true | true / false は JSON ブール値になります。 |
| sequence | - a
- b | ["a", "b"] | YAML リストは JSON 配列になります。 |
| mapping | user:
name: Alice | {"user": {"name": "Alice"}} | YAML マッピングは JSON オブジェクトになります。 |
YAML と JSON の形式比較
YAML と JSON は用途が重なる一方で、読みやすさと機械処理のしやすさに違いがあります。
| 観点 | YAML | JSON | メモ |
|---|---|---|---|
| 可読性 | 高い | 中程度 | YAML は設定ファイルを人が読む用途に向いています。 |
| コメント | # に対応 | 非対応 | JSON には標準コメント構文がありません。 |
| 配列 | - item | [item] | YAML はダッシュ、JSON は角括弧を使います。 |
| 用途 | 設定 | API / データ交換 | YAML は設定、JSON はデータ通信に向きます。 |
自動修復される YAML エラー
tryFixYAML は次のような一般的な問題を補正します。
| エラー種別 | 例 | 修復後 | 説明 |
|---|---|---|---|
| タブ | key:
value | key:
value | タブをスペースに置き換えます。 |
| 未閉合引用符 | key: 'value | key: 'value' | 足りない引用符を補います。 |
| 行末空白 | key: value | key: value | 不要な空白を削除します。 |
| 不正インデント | key:
value | key:
value | 2 スペース単位に整えます。 |
Privacy & Security
この YAML から JSON 変換ツールは、YAML 解析、JSON シリアライズ、エラー修正のすべてをブラウザ内 JavaScript で実行します。入力した YAML や生成された JSON はサーバーへ送信されません。Kubernetes secret、API キー、データベース接続情報を含む設定でも、ローカル環境で安全に変換できます。
Authoritative References
- YAML.orgYAML 1.2 仕様
- GitHubjs-yaml GitHub リポジトリ
- KubernetesKubernetes 設定ドキュメント
- DockerDocker Compose ファイル仕様
- AnsibleAnsible YAML 構文ガイド
- JSON 圧縮
- CSV to JSON
- JSON から CSV
- JSON Diff
- JSON Escape / Unescape
- JSONフラット化
- JSON フォーマッター
- JSON 生成
- JSONPath オンラインクエリ
- JSON マージ
- JSON 修復
- JSON Schema バリデーター
- JSONソート
- JSON Stringify
- JSONをHTMLに変換
- JSONからJavaへ
- JSON から Markdown
- JSON を SQL に変換
- JSON から TOML へ変換
- JSONをTypeScriptに変換
- XML を JSON に変換
- JSONをXMLへ変換
- YAML を JSON に変換
- JSON → YAML 変換
- JSON から Go へ
- JSON から Rust
- JSON から Swift
- JSON から C#
- JSON から C++
- JSON を PHP に
- JSON から Python