JSONデータをYAML形式に変換する方法
JSONテキストを入力すると、オブジェクトや配列を含む内容をYAMLのブロック形式へ変換できます。インデント幅とキーの並び順も必要に応じて指定できます。
JSONをYAMLに変換する前に
JSONの内容をYAMLへ書き換えたいときは、JSONテキストを入力して変換結果を確認します。オブジェクトだけでなく、入れ子になったオブジェクトや配列も扱えます。設定ファイルの形式をYAMLに合わせたい場合や、JSONで受け取ったデータをYAML向けに整えたい場合に利用できます。入力欄は必須ではなく、空欄または空白だけの状態でも処理は成功し、空のYAMLテキストになります。
JSONをYAMLへ変換する手順
- 変換したいJSONテキストを入力します。JSONオブジェクト、入れ子構造、配列を含む内容を入力できます。
- 必要に応じてインデント幅を指定します。指定しない場合の初期値は2です。
- マッピングキーを並べ替えたい場合は、キーのソート設定を有効にします。初期状態では無効です。
- 変換を実行し、出力されたYAMLテキストを確認します。結果はブロック形式で表示され、空でない配列にはリスト記号が使われます。Unicode文字は保持されます。
- 変換に失敗した場合は、入力がJSONとして正しいかを確認してから再実行します。JSONとして無効な入力では、YAMLテキストは生成されません。
変換結果の見方
出力が成功した場合は、JSONの構造をYAMLのブロック形式で確認できます。配列を含むデータでは、項目がリスト記号付きで表されます。文字列の内容によっては、YAMLで特別な意味を持たないように引用符が付くことがあります。キーの並びを変えたいときはソート設定を有効にし、入力時の並びを保ちたいときは初期状態のまま確認します。なお、YAMLのシリアライズ中に失敗した場合も、成功した変換としては扱われません。
使用例
日本語の商品データをJSONからYAMLへ変換し、配列とUnicode文字の表示形式を確認します。
商品データとして {"name":"太郎","items":["ノート","ペン"]} を入力し、インデント幅は初期値のまま、キーのソートは無効にして変換します。
成功すると、入力したオブジェクトのキーがYAMLのブロック形式で並び、itemsのような配列はリスト記号付きで表され、太郎などのUnicode文字は保持されます。
制限事項
- 入力が有効なJSONでない場合やYAMLのシリアライズ中に失敗した場合は、成功した変換結果としてYAMLテキストを受け取れません。
よくある間違い
- JSONの引用符、カンマ、括弧などが正しくないと変換に失敗します。入力をJSONとして検証し、構文を修正してから再度実行してください。
よくある質問
配列を含むJSONもYAMLに変換できますか?
はい。JSONテキストを入力すると、オブジェクト、入れ子になったオブジェクト、配列を含む内容をYAMLへ変換できます。
インデント幅は変更できますか?
指定しない場合のインデント幅は2です。必要に応じて、任意の数値設定を指定できます。
入力が空、またはJSONとして不正な場合はどうなりますか?
空欄または空白だけの入力は成功し、空のYAMLテキストになります。一方、JSONとして無効なテキストを入力した場合は変換に失敗し、YAMLテキストは生成されません。