データ形式変換
JSON・XML・YAML の 3 形式をオンラインで相互変換
入力
出力
変換ルール
| ルール | 例 |
|---|---|
| XML 属性は @ プレフィックス付きのキーに変換 | <user id="1">Tom</user> → {"user": {"@id": "1", "#text": "Tom"}} |
| 同名の子要素が複数ある場合は配列に集約 | <item>a</item><item>b</item> → {"item": ["a", "b"]} |
| テキストのみの要素は文字列に。属性/子要素と併存するテキストは #text キーへ | <name>Tom</name> → {"name": "Tom"} |
| JSON → XML では複数のトップレベルキーを <root> で包み、トップレベル配列の子要素名は item に。XML 名に使えない文字は _ に置換 | [1, 2] → <root><item>1</item><item>2</item></root> |
XML には型がないため、数値と真偽値はすべて文字列として扱われます。XML 宣言・DOCTYPE・コメントは変換時に無視されます。JSON / YAML の出力は 2 スペースインデントです。
対応している YAML サブセット
対応:
- ブロックマッピング(key: value、任意の深さのネスト)
- ブロックシーケンス(- で始まる項目。マップやリストのネスト可)
- スカラー:文字列、整数/小数、true/false、null(~ 含む)
- シングル/ダブルクォート文字列、行内・行単位の # コメント。複数ドキュメント入力は先頭のみ解析
非対応(行番号付きでエラー表示):
- アンカー &、エイリアス *、タグ !
- フロー記法 {a: 1}・[1, 2](空の [] / {} は除く)
- ブロックスカラー | と >(複数行テキスト)
- 複雑なキー ? とタブによるインデント
活用シーン
API デバッグ、設定ファイルの移行、データクレンジングで 3 形式を素早く相互変換:XML レスポンスを読みやすい JSON に、YAML 設定(CI/CD、Docker Compose の断片など)をプログラム処理用の JSON に、またはその逆へ。すべてブラウザ内で処理され、データがサーバーに送信されることはありません。
使い方
変換元と変換先の形式を選び(⇄ で入れ替え可)、データを貼り付けて「変換」をクリックします。解析に失敗した場合は行番号の手がかり付きでエラーを表示します。結果は出力エリアに表示され、ワンクリックでコピーできます。同じ形式同士の変換は整形・検証としても使えます。