XML・JSON 相互変換
XMLとJSONの相互変換。属性(@attr)・テキストノード(#text)・CDATA・ネスト・配列に対応。サーバー送信なしの無料オンラインツール。
XMLとJSONを双方向でリアルタイム変換するツールです。属性・CDATA・ネスト・配列に対応。
XMLを入力してください...
💡 XML属性は @属性名、テキストノードは #text として変換されます。同名の子要素は自動的に配列になります。
// 詳細
XML→JSON変換の仕組み
XMLの要素構造をJSON形式に変換します。属性は「@属性名」キーで、テキストノードは「#text」キーで表現されます。同名の子要素が複数ある場合は自動的にJSON配列に変換されます。CDATAセクションはテキストとして処理し、コメントやDOCTYPE宣言は自動的に除去されます。
JSON→XML変換の仕組み
JSONオブジェクトをXML形式に変換します。「@」で始まるキーはXML属性に、「#text」キーはテキストノードに変換されます。配列は同名の兄弟要素として出力されます。JSONのルートキーがXMLのルート要素名になり、複数キーがある場合は「root」で囲みます。
実務での活用シーン
レガシーシステムのXML APIレスポンスをJSONに変換してモダンなフロントエンドで処理したり、SOAPサービスとREST APIの間でデータフォーマットを変換する際に便利です。設定ファイルのマイグレーションやデータ移行にも活用できます。
対応するXML構文
要素・属性・テキストノード・CDATAセクション・自己閉じタグ・ネスト構造・名前空間プレフィックス(コロン付き要素名)に対応しています。XMLの処理命令(<?xml?>)やコメント(<!-- -->)、DOCTYPE宣言は自動的にスキップされます。
// FAQ
- XML属性はどのように変換されますか?
- XML属性は「@属性名」というキーでJSON内に表現されます。例えば <book category="fiction"> は {"@category": "fiction"} に変換されます。JSON→XML変換時は「@」で始まるキーがXML属性に戻ります。
- 同じ名前の子要素はどう処理されますか?
- 同名の子要素が複数ある場合、自動的にJSON配列に変換されます。例えば <items><item>A</item><item>B</item></items> は {"item": ["A", "B"]} になります。
- CDATAセクションに対応していますか?
- はい、CDATAセクション(<![CDATA[...]]>)はテキストとして処理されます。エスケープされた特殊文字も正しくデコードされます。
- データはサーバーに送信されますか?
- いいえ、すべての処理はブラウザ内で完結します。入力データがサーバーに送信されることはありません。
// 使い方
-
データを入力
変換したいXMLまたはJSONデータを入力欄に貼り付けます。モード切替ボタンでXML→JSONまたはJSON→XMLを選択できます。
-
オプションを設定
インデント幅(2sp/4sp)を選択します。SAMPLEボタンでサンプルデータを試すこともできます。
-
結果をコピー
変換結果がリアルタイムで表示されます。COPYボタンでクリップボードにコピー、SWAPボタンで入出力を入れ替えできます。