JSON と YAML をデータを失わずに相互変換する
設定ファイルのために JSON と YAML を相互変換します。往復変換でもネスト構造、配列、スカラー型を保持します。
- 1
YAML は JSON の上位集合で、インデントベースの構造と少ない括弧を持ち、人間が編集する設定に好まれます。JSON→YAML 変換で設定が読みやすくなり、YAML→JSON 変換で機械がパースしやすくなります。変換では型、ネスト、配列を保持する必要があります。
- 2 JSON YAML 相互変換ツール →
JSON を貼り付けます。ツールは 2 スペースインデント、マップとシーケンスのブロックスタイル、必要な場合のみの適切な引用符を持つ等価な YAML を出力します。
- 3 json-format → json-yaml
チェーンを使って JSON→YAML に変換し、すぐに YAML が同じ構造にパースバックされることを検証します。
- 4 yaml-convert
逆方向:YAML を貼り付けると JSON が得られます。ツールが JSON 入力を期待しているのにソースが YAML 設定の場合に便利です。
- 5
YAML 固有の落とし穴に注意:ブール値に見える引用符なし文字列(yes/no/on/off)、先頭ゼロの数値(YAML 1.1 では 8 進数として解釈)、複数行文字列の折りたたみ。曖昧なスカラーは安全のために引用符で囲んでください。
よくある質問
- なぜ一部の文字列にだけ引用符が付くのですか?
- YAML は、引用符がないと誤解釈される文字列に引用符を付けます。例:'true'(ブール値になる)、'123'(数値になる)、特殊文字を含む文字列です。コンバータは JSON の型を保持するために必要な場合にのみ引用符を追加します。
- すべての JSON を YAML に変換できますか?
- はい。YAML は JSON の上位集合なので、すべての有効な JSON ドキュメントは有効な YAML です。逆は成り立ちません。アンカー、複数ドキュメントストリーム、タグなどの YAML 機能に JSON の等価物はなく、失われるか拒否される場合があります。
このタスクを解決するワークフロー
JSON 経由で 2 つの YAML 設定を比較
構造化された値の差分比較しやすいように、YAML 設定を JSON に変換する。 パイプライン
CSV から JSON を経て YAML へ変換
スプレッドシートの CSV データを JSON 中間体を経て YAML に変換し、設定生成に適した形にする。 パイプライン
URL 転送用の JSON ペイロードのエンコード
JSON ドキュメントを URL パラメータ用に準備する: 整形、Base64 エンコード、パーセントエンコード — ネストされたパラメータデコードチェーンの正確な逆順。 パイプライン
ENV から JSON を経て YAML へ変換
.env を JSON に変換し、その後デプロイ設定のために YAML に変換する。 パイプライン
HJSON から JSON フォーマットへ変換
HJSON をフォーマットし、標準 JSON に変換する。 パイプライン
INI から JSON を経て YAML へ変換
INI を JSON に変換し、その後モダンな設定フォーマットのために YAML に変換する。 パイプライン
JSON フォーマットと整合性チェックサム計算
JSON ドキュメントを整形し、以降の変更を検出するために CRC32 チェックサムを計算する。 パイプライン
JSON のミニファイと検証
検査のために JSON をフォーマットし、1 パスで構文的に正しいことを検証する。 パイプライン
JSON フォーマットと TypeScript インターフェース生成
JSON ドキュメントをフォーマットし、1 チェーンで TypeScript インターフェース定義を推論する。 パイプライン
検証、フォーマット後 JSON から YAML へ変換
(ミニファイの可能性がある)JSON 設定を YAML に変換し、微妙に誤った YAML を生成成する代わりに最初のノードで構文エラーを捕捉する。 パイプライン
JSON から YAML を経て TOML へ変換
JSON 設定を YAML 経由で TOML にマイグレートし、Rust や Python プロジェクト設定に適用する。 パイプライン
JSON5 から JSON フォーマットへ変換
JSON5 をフォーマットし、標準 JSON に変換する。 パイプライン
JSONC から JSON フォーマットへ変換
JSONC(コメント付き JSON)をフォーマットし、標準 JSON に変換する。 パイプライン
JWT ペイロードのデコードとフォーマット
JWT トークンを解析し、ペイロードを抽出し、検査のために JSON をフォーマットする。 パイプライン
Properties から JSON を経て YAML へ変換
Java Properties を JSON に変換し、その後 YAML に変換する。 パイプライン
クエリ文字列解析と JSON フォーマット
クエリ文字列をキー・バリューペアに解析し、その後 JSON としてフォーマットする。 パイプライン
TOML から JSON へ変換
TOML 設定ファイルを JSON 入力を期待するツールや API のために解析する。 パイプライン
TOML から JSON を経て YAML へ変換
TOML 設定を JSON 経由で YAML に変換し、Kubernetes や CI ツールに適用する。 パイプライン
JSON 経由で TOML から YAML へ変換
TOML 設定ファイルを YAML 形式に変換し、JSON を中間表現として使用する。 パイプライン
ネストされた URL パラメータのデコード(Base64 JSON)
URL エンコード Base64 JSON を運ぶ URL パラメータを可読なフォーマット済み JSON に展開する。 パイプライン
YAML から JSON へ変換
YAML ドキュメントを JSON に変換し、型強制のサプライズのために解析された値を検査する。 パイプライン
YAML から JSON を経て CSV へ変換
YAML を JSON に変換し、その後スプレッドシート使用のために CSV に変換する。 パイプライン
YAML から TypeScript インターフェースを生成
YAML ドキュメントを TypeScript インターフェース定義に変換し、JSON を中間フォーマットとして使用する。 パイプライン
YAML の検証とフォーマット
YAML を JSON に変換して構造を検証し、その後 JSON が well-formed であることを確認する。 パイプライン