ホーム YAML → JSON

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 がデバイスから離れることはありません。