JSON を XML に変換:ルート要素・属性・配列
XML は単一のルートを必要とし、リストは繰り返し要素で表現します。@ 接頭辞キーを属性に、#text を 要素テキストにマッピングすれば、可逆変換が得られます。
ルート要素を選ぶ
XML には必ず 1 つだけのルートが必要です。JSON にトップレベルのキーが 1 つだけあるなら、それをルート要素にしてください。複数あれば、すべてを合成のルート要素で包みます。
属性とテキスト
@ プレフィックス付きのキーは属性に、#text キーは要素のテキスト内容になります。これは XML ↔ JSON の標準的な約束に従っていて、変換のラウンドトリップが成立します。
配列は繰り返し要素になる
JSON の配列は 1 つの要素にはなりません —— 各要素が同じタグ名の独立した要素に展開されます。XML は繰り返しでリストを表すからです。
エスケープ
本文では &、<、> をエスケープし(属性内のダブルクォートも)、先頭に XML 宣言を付けて、出力が完全な文書になるようにしてください。
名前空間とプレフィックス
XML の名前空間は xmlns または xmlns:prefix 属性として現れ、要素名や属性名を限定します。JSON フレンドリーな形式では、それらを通常の @xmlns / @xmlns:prefix 属性キーとして扱い、soap:Envelope のようなプレフィックス付き名をキーのまま保持してください —— 多くのコンバータはプレフィックスをそのまま残します。
自己閉じタグと明示的な空要素
空の JSON 値は、自己閉じタグ(<note/>)と、空の対タグ(<note></note>)のどちらにもなり得ます。XML 上は等価ですが、下流のパーサはどちらかをうまく扱えないことがあります —— コン パクトな出力には自己閉じを、消費側が厳格と分かっているときは対のタグを使ってください。
ラウンドトリップの注意
XML の一部の事実は JSON に対応物がありません:属性順序、コメント、処理命令、空要素と欠落要素の違いなどです。JSON に変換して編集し、また戻す場合、これらは失われると想定してください —— 署名の正規化が重要な場面で、ラウンドトリップ後の XML を使ってはいけません。
XML のフォーマット・整形・検証
同じコンバータは XML フォーマッタ・XML 整形ツール・XML バリデータとしても使えます。任意の XML を貼り付けて To JSON を押せば整形式かどうか検証され、To XML を押せば一貫したインデントで再出力されます。エディタに XML ビューアや整形プラグインがないときに、ローカルツールを入れずに XML を整形する最短の方法です。
JSON 修復ガイド
トピックハブ
- JSON Parse Errors: Read the Message, Jump to the Fix
- Fix Invalid JSON: From 'What's Wrong' to a Clean File
- JSON Formatter, Validator, Viewer: Pick the Right Tool
- Repair LLM JSON Output: Handling Almost-JSON from AI
- Privacy: JSON Tools That Don't Leave Your Browser
- JSON Interop: YAML, CSV, XML, JWT, Schema
個別ガイド
- Base64 文字列のデコード方法(および JWT ペイロード)
- URL エンコーディング:クエリパラメータとパスをパーセントエンコードする
- YAML を JSON に変換(インデントエラーを避ける)
- JSON を CSV に変換:オブジェクト配列をフラット化
- JSON を文字列リテラルとしてエスケープ(二重エンコードされた JSON のデコード)
- JSON の末尾カンマを修正
- JSON のシングルクォートを修正
- JSON の引用符なしキーを修正
- LLM が出力した JSON を修復する
- JSON 解析エラー「Expected Property Name」を修正
- JSON と JavaScript オブジェクトリテラルの違い
- API リクエスト前に JSON を検証する
- JSON フォーマッタ vs JSON Repair
- JSON の Unexpected Token エラーを修正
- JSON から JavaScript オブジェクトへの変換ツール