完全無料

JSON を YAML に 変換

JSONデータをクリーンなYAML形式に変換します。Kubernetesのマニフェスト作成やクラウド設定ファイルの作成に最適。

または

このツールについて

JSON から YAML への移行は、主にデータを人間にとって読みやすくすることを目的としています。どちらの形式も同じ種類の構造 (オブジェクト/マップ、配列/シーケンス、スカラー) を記述しますが、YAML のインデントベースの構文、オプションの引用符、およびコメントのサポートにより、手動でのスキャンと編集が容易になります。構成ファイルは標準的なユースケースです。Kubernetes マニフェスト、CI ワークフロー、Ansible プレイブック、およびその他の多数のツールが YAML を選択したのは、主な編集者が人間であるためです。

このコンバータは、js-yaml を使用して、解析された JSON オブジェクトを YAML にシリアル化します。結果は、YAML 規則 (ネストのインデント、配列のリスト、オブジェクト プロパティのキーと値のペア) を適用しながら、データの構造を正確に保持します。 JSON の厳密な二重引用符は緩和されています。特殊文字を含む文字列、または他の型に似た文字列のみが出力で引用されます。

YAML が JSON にはない表現力を追加する場合を除き、変換は情報を保持します。コメントは再構築できません (JSON にはコメントがありませんでした)。アンカー参照とエイリアス参照は、繰り返される構造を圧縮する可能性がありますが、自動的には生成されません。出力ではすべての参照がインライン展開されます。

JSON を YAML に変換する理由

人間が構成を編集する場合、YAML は JSON よりも大幅に読みやすくなります。インデントは中括弧のネストを置き換え、引用符は単純な文字列のオプションであり、コメントは明白でない設定を文書化できます。人間が管理するファイル (アプリケーション構成、コードとしてのインフラストラクチャ、ビルド パイプライン) の場合、ほとんどの場合、YAML が適切な宛先形式です。

最新のインフラストラクチャ ツールは圧倒的に YAML を支持します。 Kubernetes、Helm チャート、Ansible、GitHub Actions、GitLab CI、Docker Compose、およびその他の多くのツールは、YAML を好むか、YAML を必要とします。あるシステムからの JSON エクスポートを別のシステムの YAML 構成に変換することは、日常的な統合手順です。

使い方

JSONを貼り付けてYAMLを取得します。

  1. JSON を追加します: JSON テキストを貼り付けるか、ファイルをドロップします。入力は有効な JSON である必要があります。コンバーターは、仕様に違反する JSON のような入力を解析しようとしません。
  2. オプションを選択してください: インデント サイズのデフォルトは 2 スペースで、これは最も一般的な YAML 規則です。フロー スタイル (コンパクトな JSON のような) とブロック スタイル (インデント ベース) によって、出力の外観が切り替わります。ブロックは人間に優しいデフォルトです。
  3. 変換する: js-yaml のダンプ関数は、解析された JSON ツリーを YAML にシリアル化します。文字列の引用符は必要な場合にのみ適用されます。複雑な文字列も読み取り可能なままです。
  4. ダウンロードまたはコピー: .yml として保存するか、クリップボードにコピーします。出力は、あらゆる YAML コンシューマーに対応した有効な YAML 1.2 です。

一般的な使用例

技術的な詳細

js-yaml のダンプ関数は、JavaScript オブジェクト ツリーをたどり、構成可能な形式を使用して YAML を出力します。インデントの深さ、線の幅、フロースタイルのしきい値、引用符の処理はすべてパラメータです。デフォルト設定では、最も一般的な規則である 2 スペースのインデントを使用したブロック スタイルの YAML が生成されます。

文字列の引用符は YAML の規則に従います。他の型 (数値、ブール値、null、日付) に似た文字列は、文字列の解釈を強制するために引用符で囲まれます。特殊文字 (コロン、ハッシュ、先頭のダッシュ) を含む文字列は引用符で囲まれます。単純なアルファベット文字列は引用符で囲まれずに残されます。

出力は YAML 1.2 と互換性があり、js-yaml、PyYAML、その他の主要な YAML ライブラリできれいに解析されます。冪等のラウンドトリップ (JSON → YAML → JSON) ではデータが保持されますが、YAML 表現では手書きの同等の表現とは異なる可能性がある正規の書式設定が選択されます。

ベストプラクティス

よくある質問

JSON を YAML に変換するとコンテンツは変わりますか?
内容は可能な限り正確に保存されます。ただし、一部の形式固有の機能には直接同等の機能がない場合があるため、形式に若干の違いが発生する可能性があります。
YAML 形式を使用する理由
YAML は最小限の構文で可読性が高いため、構成ファイルとして人気があります。これは、Docker Compose、Kubernetes、GitHub Actions、および多くの CI/CD ツールの標準です。
コンバーターはネストされた JSON 構造または複雑な JSON 構造を処理しますか?
はい。このツールは、ネストされたオブジェクト、配列、およびすべての標準 JSON データ型を正しく解析し、YAML 出力内の完全なデータ構造を保持します。
この変換は安全かつ非公開ですか?
はい。すべての処理はブラウザ内でローカルに行われます。データがデバイスから離れることはありません。サーバーへのアップロード、クラウド処理、データ収集はありません。
特殊文字を含む文字列はどうなるでしょうか?
js-yaml はそれらを自動的に引用します。コロン、ハッシュ、または先頭のダッシュを含む文字列は、YAML の整形式を保つために引用符で囲まれます。
私のデータはサーバーにアップロードされていますか?
いいえ。変換はブラウザで js-yaml を使用して実行されます。
JSON と YAML を往復することはできますか?
はい。 JSON → YAML → JSON はデータを構造的に保持します。変換された JSON のキー順序は入力と一致します。
最大入力サイズはどれくらいですか?
最大50MB。 js-yaml は、一般的な構成ファイルを即座に処理します。