構造化データコンバーター
マルチドキュメント YAML 対応とアンカー解決機能を備え、ブラウザー内でローカルに YAML、JSON、TOML を変換します。
コンバーター
マルチドキュメント YAML に対応しており、アンカーは変換前にローカルで解決されます。
0 / 1,048,576 octets
構造化データコンバーターをテストしました — 次は JSONフォーマッター&バリデーター を試そう →
構造化データコンバーターとは?
YAML、JSON、TOML は異なるエコシステムで標準化されました。なぜなら、それぞれが異なることを優先しているからです。JSON(ECMA-404)は厳密で、マシンフレンドリーで、ネットワーク上で無処不在です——REST API、GraphQL レスポンス、npm の package.json、tsconfig.json。YAML(仕様 1.2.2)はアンカー、エイリアス、マルチドキュメント ストリーム、有意なインデント——Kubernetes マニフェスト、GitHub Actions ワークフロー、Ansible プレイブック、Docker Compose を備えた人間フレンドリーです。TOML(仕様 1.0.0)は明示的な型優先——Rust の Cargo.toml、Python の pyproject.toml。クラシックな変換の落とし穴:YAML 1.1 の Norway problem は NO、no、false、off および国コード NO をブール値 false として扱う(Kubernetes 1.16 以降は YAML 1.2 を使用してこれを修正しますが、従来のパーサーはまだ問題があります);YAML の暗黙的な日付キャストは 2024-01-15 を Date オブジェクトに変換します——文字列として保つには引用符で囲みます。TOML は datetime(2024-01-15T10:30:00Z)、local-datetime、local-date、local-time を別の第一級型として区別します——JSON にはこれらがなく、ラウンドトリップ中に文字列に崩壊します。コンバーターは出力前に YAML アンカーを解決し、TOML の型付き日付を JSON の RFC 3339 文字列/YAML の引用符付き文字列としてシリアル化します。
構造化データコンバーターの使い方
From と To フォーマットを選択します。ソースを貼り付けるか、ディスクから Import file です。結果がリアルタイムで表示されます。Swap ボタンは From-To を反転し、出力を入力に移動します(ラウンドトリップ テスト用——YAML -> JSON -> YAML はコメント喪失とキー順序を除いて冪等であるべき)。--- で区切られた複数ドキュメント YAML の場合、コンバーターは JSON 配列(ドキュメントごとに 1 つの要素)を出力するか、反対方向で複数ドキュメント YAML に連結し戻します。アンカー(&name)とエイリアス(*name)は変換前に解決されます——出力は展開された値を持ち、参照ではありません。エラー パネルにはパース失敗の行と列が、コンテキスト ウィンドウ付きで表示されます:JSON での ] の欠落、YAML での破損したインデント、TOML での引用符なしの特殊文字が最も一般的な 3 つの問題です。.json、.yaml、または .toml としてダウンロードします——ファイル拡張子が対象フォーマットと一致し、エディターが正しい構文強調表示を適用するようにします。
設定フォーマット変換が重要な理由
フォーマット選択は意図を示します。JSON は wire-format と明確な解析が必要なツール用です——各 { と [ は正確に 1 つです。YAML は相互参照を含む設定を書く人間用です(アンカーはサービス間で環境変数ブロックをコピーペーストすることを回避します)。TOML は明示的型の設定用で、文字列と日付を不注意で混ぜることは許されません(Cargo.toml は Norway problem を容認しません)。プロジェクト移行時、変換は不一致を明らかにします:YAML 1.1 パーサーの場合、country: NO を持つ YAML ファイルは JSON country: false になり、静かに下流システムを破壊します。TOML 日付から JSON への変換はその型を失います——TOML へのラウンドトリップは文字列を生成し、datetime を期待する設定検証器を破壊します。コンバーターはすべての 3 つのフォーマットで可能な限り型情報を保持することでこれを解決するため、入力 = 出力です——YAML と TOML がサポートするがJSON がしないコメントを除いて。
よくある質問
マルチドキュメント YAML に対応していますか?
はい。入力に --- で区切られた複数の YAML ドキュメントが含まれている場合、コンバーターはそれらをまとめて保持し、JSON 配列または YAML マルチドキュメント出力としてエクスポートできます。
マルチドキュメント YAML はなぜ直接 TOML に変換できないのですか?
TOML は単一オブジェクトのドキュメントに最も適しています。複数の YAML ドキュメントを貼り付けた場合は、先に JSON に変換するか、TOML にエクスポートする前に統合してください。
YAML のアンカーとエイリアスは解決されますか?
はい。アンカーとエイリアスは、変換出力が生成される前にブラウザー内で解決されます。
このツールを大きな作業フローの中で使う
これらのコレクションは、同じ作業でよく続けて使うツールやガイドをまとめています。
同じタグを見る
同じワークフロー、形式、用途を持つ別のツールへすぐ移動できます。