メインコンテンツへスキップ

XML・JSON 相互変換

XMLとJSONの相互変換。属性(@attr)・テキストノード(#text)・CDATA・ネスト・配列に対応。サーバー送信なしの無料オンラインツール。

XMLとJSONを双方向でリアルタイム変換するツールです。属性・CDATA・ネスト・配列に対応。

XML・JSON 相互変換
INDENT
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[...]]>)はテキストとして処理されます。エスケープされた特殊文字も正しくデコードされます。
データはサーバーに送信されますか?
いいえ、すべての処理はブラウザ内で完結します。入力データがサーバーに送信されることはありません。

// 使い方

  1. データを入力

    変換したいXMLまたはJSONデータを入力欄に貼り付けます。モード切替ボタンでXML→JSONまたはJSON→XMLを選択できます。

  2. オプションを設定

    インデント幅(2sp/4sp)を選択します。SAMPLEボタンでサンプルデータを試すこともできます。

  3. 結果をコピー

    変換結果がリアルタイムで表示されます。COPYボタンでクリップボードにコピー、SWAPボタンで入出力を入れ替えできます。