開発者ツール / 05

YAMLからJSONへ変換

YAMLの設定をJSONに変換し、文書がパースできない場合は読みやすいメッセージを表示します。

YAMLからJSONへ変換: TOEAは安全なスキーマ上で本物のYAMLパーサーを使って文書を解析します。そのため、アンカーとエイリアスは展開され、ファイルから任意の型を構築することはできません。 サーバーへのファイルアップロードは一切なく、100%ブラウザ内でローカル実行します。

カテゴリ
開発者ツール
実行回数
ブラウザ内で
コスト
無料 · 登録不要
提供状況
すぐに使えます
YAML → JSONデスクローカル処理

完全にブラウザ内で実行します

↥
下にYAMLを貼り付けるか、ファイルを選択してください

最大5 MB · 何もアップロードされません

ブール値と数値になる値

このコンバーターは、YAMLの厳格なJSONルールに従って通常の値を読み取ります。小文字のtrue、false、nullだけがブール値またはnullになり、yes、no、on、True、Null、~は文字列のままです。0755、0x1F、2024-01-05のような日付も同様です。引用符のない小数は数値になるため、バージョンのフィールドで問題が起きます。python: 3.10は3.1になります。python: "3.10"のように、テキストのままにする値は引用してください。

マージキーと複数ドキュメントのファイル

Docker ComposeやGitLab CIのファイルでは、<<: *defaultsを使ってブロックを再利用することがあります。マージキーは適用されます。共有キーがブロックにコピーされ、ブロック自体に書かれたキーが優先されます。そのため、<<: *defaultsの後にretries: 5があると、retries以外のすべてのデフォルト値が残ります。<<: [*base, *extra]のようなリストでは複数のブロックをマージでき、先にあるブロックが優先されます。アンカーとエイリアスは完全に展開されるため、大きなブロックを何度も再利用すると、JSONがYAMLより大幅に大きくなることがあります。

Kubernetesマニフェストでよくあるように、---で区切られた複数のドキュメントを含むファイルは、単一ドキュメントに関するメッセージを表示して拒否されます。各ドキュメントを個別に変換してください。

使い方

  1. YAMLを貼り付けるか、ファイルを選びます。
  2. インデント幅を選びます。
  3. JSONをコピーするかダウンロードします。

プライバシーと制限事項

変換はお使いのブラウザ内で行われ、アップロードは一切されません。設定ファイルや他人に渡したくないエクスポートの場合に重要です。安全なスキーマのみを使用するため、文書は解析されるだけでは型をインスタンス化できません。

関連ツール

よくある質問

なぜYAMLにはそもそもパーサーが必要なのですか?

仕様が大きいためです—ブロックスカラ、アンカー、暗黙の型付け、複数文書など。パターンマッチング的なサブセットでは、エラーにならずに実ファイルを誤読してしまい、かえって悪影響になります。

アンカーとエイリアスはどうなりますか?

JSONには参照を表す方法がないため、展開されます。エイリアスだった場所には、繰り返しの値がそのまま展開されて現れます。

YAMLがパースに失敗したのはなぜですか?

多くはインデントが原因です。YAMLは空白に意味があり、スペースであるべき所にタブがあると無効になります。エラーには行が特定されます。

コメントは保持されますか?

いいえ。JSONにはコメント構文がないため、コメントは削除されます。

無料ツール · ブラウザ内で · アカウント不要