開発者ツール / 05
YAMLからJSONへ変換
YAMLの設定をJSONに変換し、文書がパースできない場合は読みやすいメッセージを表示します。
YAMLからJSONへ変換: TOEAは安全なスキーマ上で本物のYAMLパーサーを使って文書を解析します。そのため、アンカーとエイリアスは展開され、ファイルから任意の型を構築することはできません。 サーバーへのファイルアップロードは一切なく、100%ブラウザ内でローカル実行します。
- カテゴリ
- 開発者ツール
- 実行回数
- ブラウザ内で
- コスト
- 無料 · 登録不要
- 提供状況
- すぐに使えます
完全にブラウザ内で実行します
最大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マニフェストでよくあるように、---で区切られた複数のドキュメントを含むファイルは、単一ドキュメントに関するメッセージを表示して拒否されます。各ドキュメントを個別に変換してください。
使い方
- YAMLを貼り付けるか、ファイルを選びます。
- インデント幅を選びます。
- JSONをコピーするかダウンロードします。
プライバシーと制限事項
変換はお使いのブラウザ内で行われ、アップロードは一切されません。設定ファイルや他人に渡したくないエクスポートの場合に重要です。安全なスキーマのみを使用するため、文書は解析されるだけでは型をインスタンス化できません。
関連ツール
よくある質問
なぜYAMLにはそもそもパーサーが必要なのですか?
仕様が大きいためです—ブロックスカラ、アンカー、暗黙の型付け、複数文書など。パターンマッチング的なサブセットでは、エラーにならずに実ファイルを誤読してしまい、かえって悪影響になります。
アンカーとエイリアスはどうなりますか?
JSONには参照を表す方法がないため、展開されます。エイリアスだった場所には、繰り返しの値がそのまま展開されて現れます。
YAMLがパースに失敗したのはなぜですか?
多くはインデントが原因です。YAMLは空白に意味があり、スペースであるべき所にタブがあると無効になります。エラーには行が特定されます。
コメントは保持されますか?
いいえ。JSONにはコメント構文がないため、コメントは削除されます。
無料ツール · ブラウザ内で · アカウント不要