YAML → JSON 変換ツール
YAML を貼り付けてクリーンなインデント付き JSON を即取得——厳密な検証、コピー、ダウンロード付き、100% ブラウザ内で完結。
入力 YAML
JSON 出力
JSON とは?
JSON(JavaScript Object Notation)は JavaScript のオブジェクトリテラルに由来する、軽量なテキストベースのデータ交換形式です。データをオブジェクト({ })、配列([ ])、文字列(二重引用符)、数値、真偽値(true/false)、null として表現します。ほぼすべてのプログラミング言語に高速なネイティブ JSON パーサーがあるため、JSON は REST API、NoSQL ドキュメントストレージ(MongoDB、CouchDB)、設定ファイル、組み込みデータの事実上の標準です。
YAML とは異なり、JSON は二重引用符文字列、要素間のカンマ、構造を区切る波括弧を厳密に要求します。そのためより冗長ですが、より決定論的で解析も簡単です——これが機械間通信で支配的な理由です。
YAML を JSON に変換する理由
YAML と JSON は同じデータ構造——オブジェクト、配列、文字列、数値、真偽値、null——を表すため、JSON データモデルにとって変換はロスレスです。YAML を JSON に変換したい理由はいくつかあります:
- API 消費。ほとんどの API は JSON を話します。YAML 設定を JSON に変換すれば、JSON を期待するクライアントやサービスに直接供給できます。
- ツールチェーン。多くのライブラリ、リンター、CI ツールは JSON のみを受け付けます。変換で YAML 作成データを JSON 専用パイプラインで再利用できます。
- プログラム的解析。すべての言語にネイティブ JSON パーサーが同梱されますが、YAML パーサーはそれほど普及していません。JSON の方が高速かつ安全に解析できます。
- JavaScript への埋め込み。JSON は有効な JavaScript なので、変換出力をソースコードにそのまま貼り付けられます。
逆に、人間がデータを読み書きする場合は YAML が通常より良い選択です。2 つの形式は相補的——変換でそれぞれの得意な場面で使用できます。
変換の仕組み
このツールは組み込みの YAML パーサー(外部ライブラリ不使用)を実行し、インデントベースの構造を走査して同等の JSON を出力します。パーサーは最も一般的な YAML 構造を理解します:
- マッピング(
key: value)は JSON オブジェクトになります。各キーは文字列としてデコードされ、値はスカラー、ネストされたマッピング、シーケンスのいずれかです。 - シーケンス(
-で始まる行)は JSON 配列になります。項目はスカラー、ネストされたマッピング、さらに深いシーケンスのいずれかです。 - スカラーは型自動判定されます:
true/false/yes/noは真偽値、null/~は null、整数と浮動小数点は数値、それ以外は文字列になります。 - 引用符付き文字列。二重引用符(
"...")と一重引用符('...')文字列は常に文字列として扱われ、エスケープシーケンスがデコードされます。 - フロー形式。インライン配列
[a, b, c]とインラインオブジェクト{a: 1, b: 2}をサポートします。 - コメント。
#で始まる行と行末# ...コメントは無視されます。
インデントにはスペースを使用する必要があります(YAML が禁止するタブは不可)。出力はスペース 2 個でインデント整形され、任意の JSON パーサーでクリーンにラウンドトリップする有効な JSON です。
YAML と JSON の使い分け
両形式にはそれぞれの長所があります。データの使用方法に基づいて選択してください:
- YAML を使用するのは設定ファイル、CI/CD パイプライン、Infrastructure as Code マニフェスト、ドキュメントスニペット、人間が手作業で読み書きするファイルの場合。
- JSON を使用するのは API ペイロード、NoSQL ドキュメントストレージ、サービス間通信、JavaScript への埋め込みデータ、機械解析と小サイズが最も重要な場合。
実用的なワークフローは、人間が手作業で YAML でデータを作成し、機械が消費する必要がある時に JSON に変換することです。これにより快適な人間の編集体験を保ちつつ、機械に高速で厳密な解析形式を提供できます。
注意すべき制限
このコンバーターは大多数の設定ファイルが使用する一般的な YAML サブセットをカバーしますが、YAML には JSON が表現できない機能があります。いくつか留意点があります:
- 複数行文字列。ブロックスカラー(
|リテラルと>折りたたみ)は生の内容として解析されます。結果の JSON 文字列には\nとしてエスケープされた実際の改行が含まれます。 - アンカーとエイリアス。YAML 参照(
&anchor/*alias)はサポートされません——構造をインラインで複製してください。 - タグとカスタム型。YAML の豊富な型システム(セット、順序付きマップ、日付、カスタムタグ)はコア JSON 型に縮小されます。
- コメント。JSON にはコメントがないため、YAML 内のコメントは出力から削除されます。
- 複数ドキュメント。
---で区切られた YAML ストリームは単一ドキュメントとして解析されます。最初のドキュメントのみ使用してください。
ほとんどのユースケース——Kubernetes マニフェスト、Docker Compose ファイル、GitHub Actions ワークフロー、アプリ設定——では、変換された JSON はそのまま使用できます。
この YAML → JSON 変換ツールは無料ですか?
はい、完全に無料で、登録不要、デバイスのメモリ以外に制限はなく、アップロード不要——すべてローカルで実行されます。
無効な YAML は変換されますか?
いいえ。ツールは最初に YAML を検証し、無効な場合は解析エラーを表示します。YAML を修正してから再度変換してください。
パーサーはタブインデントをサポートしますか?
いいえ。YAML はタブインデントを禁止します——スペースのみ使用してください。タブが見つかるとパーサーはエラーを報告します。
JSON を YAML に戻せますか?
はい。このサイトの付属ツール「JSON to YAML」を使用して逆方向に変換できます。
データはアップロードされますか?
いいえ。すべての解析と変換はブラウザ内で行われ、YAML がデバイスから離れることはありません。