YAML を JSON に変換(インデントエラーを避ける)
YAML 1.2 以降、すべての JSON ドキュメントは有効な YAML です。YAML 設定を JSON に変換し、インデン トと型推論の落とし穴に注意しましょう。
YAML と JSON は親戚
YAML 1.2 は JSON の厳格なスーパーセットなので、どんな JSON ドキュメントもすでに合法な YAML です。YAML から JSON への変換は、主にインデントベースの構造を波括弧と角括弧で書き換える作業になります。
インデントの規則
YAML はタブによるインデントを禁じています —— 必ず空白を使い、兄弟キーは同じ深さに揃えてください。紛れ込んだタブやずれたキーが、最もよくある YAML のパースエラーです。
ノルウェー問題
クォートされていない NO・yes・on・off は、一部のパーサで真偽値として読まれてしまい、国コードの NO が false になってしまいます。文字列のままにしたいときはクォートで囲んでください。
安全に変換する
まず YAML を検証してから変換します。曖昧なスカラーはクォートし、数値・日付・先頭ゼロの値が想定どおりの型のままかを確認してください。
複数文書 YAML ストリーム
1 つの YAML ファイルは '---' で区切って複数の文書を持てます。JSON には対応する概念がありません —— 各文書を独立に変換し、下流のツールがまとめて必要とする場合は JSON 配列で包んでください。Kubernetes マニフェストが最も典型的なケースです。
アンカーとエイリアス
YAML の & アンカーと * エイリアスは、参照によってノードを再利用できますが、JSON にはエイリアスがありません。安全なコンバータは各エイリアスをアンカーの値のコピーに展開します。すると文書が膨らみます。YAML に戻すラウンドトリップでは、元の共有関係は失われる点に注意してください。
YAML が忠実さを失うとき
コメント、!!binary のようなタグ注釈、カスタムタグ、block と flow スタイルの違い、キーの順序などは、YAML から JSON への変換で失われます。純粋なデータ交換なら問題ありませんが、人が編集する設定ファイルでは YAML をソースオブトゥルースとして保つのが安全です。
JSON 修復ガイド
トピックハブ
- JSON Parse Errors: Read the Message, Jump to the Fix
- Fix Invalid JSON: From 'What's Wrong' to a Clean File
- JSON Formatter, Validator, Viewer: Pick the Right Tool
- Repair LLM JSON Output: Handling Almost-JSON from AI
- Privacy: JSON Tools That Don't Leave Your Browser
- JSON Interop: YAML, CSV, XML, JWT, Schema
個別ガイド
- Base64 文字列のデコード方法(および JWT ペイロード)
- URL エン コーディング:クエリパラメータとパスをパーセントエンコードする
- JSON を CSV に変換:オブジェクト配列をフラット化
- JSON を XML に変換:ルート要素・属性・配列
- JSON を文字列リテラルとしてエスケープ(二重エンコードされた JSON のデコード)
- JSON の末尾カンマを修正
- JSON のシングルクォートを修正
- JSON の引用符なしキーを修正
- LLM が出力した JSON を修復する
- JSON 解析エラー「Expected Property Name」を修正
- JSON と JavaScript オブジェクトリテラルの違い
- API リクエスト前に JSON を検証する
- JSON フォーマッタ vs JSON Repair
- JSON の Unexpected Token エラーを修正
- JSON から JavaScript オブジェクトへの変換ツール