YAMLをJSONに変換する方法
YAMLテキストを入力し、インデントとキー順を必要に応じて設定して実行すると、JSONテキストへ変換できます。空白だけの入力は空のJSONオブジェクトになります。
変換前に知っておきたいこと
YAMLをJSON形式のテキストへ変換したいときは、入力欄にYAMLを貼り付けて実行します。設定ファイルやデータ定義をJSONで扱う場面に向いており、通常のマッピングだけでなく、入れ子になった構造や配列も対象にできます。変換では記述の見た目を別形式へ置き換えるのではなく、YAMLとして解析したデータ構造をJSONの表現にします。
入力から出力までの操作
- YAMLのテキストを入力欄へ貼り付けます。入力欄を空のまま実行する場合は、空のJSONオブジェクトが結果になります。2. JSONのインデント設定を確認し、必要に応じて変更します。指定しないときの設定は2です。3. JSONオブジェクトのキーを並べ替えたい場合だけ、キーの並べ替えを有効にします。この機能は初期状態では無効です。4. 変換を実行し、表示されたJSONテキストを確認します。マッピング、入れ子構造、配列は、それぞれJSONで扱えるデータ構造として出力されます。5. 複数の文書を入力するときは、先頭の空白を除いた内容が
---で始まり、改行の後にも---がある形にします。解析された文書からnullの文書が除かれた後、残りが複数なら配列、1つならその文書、0個なら空のJSONオブジェクトになります。
結果を読むポイント
成功した結果では、入力したYAMLの構造をJSONテキストとして読めます。インデントの設定はJSONの読みやすさに関わり、キーの並べ替えを有効にした場合はJSONオブジェクトのキーが並べ替えられます。複数文書では、nullを除いた文書数によって出力の形が変わるため、オブジェクトか配列かを確認してください。失敗したときは、まずYAMLの構文として解析できる内容かを見直します。解析後の値をJSONとしてシリアライズできない場合も、成功した変換結果にはなりません。
使用例
設定情報を含むYAMLを、JSONを受け付ける処理へ渡す前に変換します。
nameがTaroでsettingsにthemeを含む2項目のYAMLテキストを入力し、インデントを2、キーの並べ替えを無効にして変換します。
1つのJSONオブジェクトとして出力され、nameとsettingsに対応する2つのキーを含む形になります。
制限事項
- YAMLとして解析できない入力や、解析後にJSONへシリアライズできない値は、成功したJSON結果になりません。
よくある間違い
- インデントや区切りの誤りがあるとYAMLとして解析できないため、構造を修正してから再度実行します。
よくある質問
入力欄を空にするとどうなりますか?
空白だけを含む入力でも処理は成功し、内容を持たないJSONオブジェクトが返ります。
JSONのキー順を並べ替えられますか?
キーの並べ替えを有効にすると、JSONオブジェクトのキーを並べ替えた形で確認できます。初期状態ではこの設定は無効です。
変換に失敗したときは何を確認しますか?
YAMLとして解析できない内容では変換が成功しないため、インデントや区切り記号を点検して入力を直します。