JSON→XML変換

JSONデータを正しいXMLに変換します。

ブラウザ内で動作します。入力した内容はどこにも送信されません。

JSONをXMLに変換する方法

  1. JSONを貼り付けるかアップロードします。
  2. ルート要素の名前を入力します。
  3. XMLをコピーまたはダウンロードします。

例:JSONを入力、XMLを出力

JSONXML
{"name":"Sam"}<root><name>Sam</name></root>
{"@_id":"5","#text":"Widget"}<root id="5">Widget</root>
{"tag":["a","b"]}<root><tag>a</tag><tag>b</tag></root>

JSONのキーがタグ名になる仕組み

  • スペースなど、XMLが名前に許可しない文字は_に置き換えられるため、"first name"はfirst_nameになります。
  • XMLの名前は数字で始められないため、数字で始まるキーには先頭に_が追加されます。
  • 名前変更後のキーと衝突する場合は番号が付加されるため、2つ目のfirst_nameはfirst_name_2になります。

JSON→XMLが役立つ場面

  • XMLしか受け付けない古いシステムやAPIにデータを渡す。
  • JSONデータソースから、RSS形式のような小さなフィードを作る。
  • JSONペイロードがSOAPやレガシーなXMLリクエストボディとしてどう見えるかを確認する。

知っておくべき制限

  • XMLにはnullそのものを意味するものがないため、JSONのnullは空の要素になります。
  • XMLのタグ名は大文字・小文字を区別するため、Nameとnameのように大文字・小文字だけが異なるキーは別々のタグになります。
  • 数値や真偽値はXML内ではプレーンテキストとして書かれます。元の型に戻すには、読み取る側がそれを解析する必要があります。

JSON→XMLのFAQ

配列はXMLでどう書かれますか?

配列の各項目は、そのキー名を持つ繰り返し要素になります。トップレベルの配列は、ルートの下でitem要素として包まれます。

属性を作るには?

"@_id": 5のように@_で始まるキーにすると、親要素の属性になります。これはXML→JSON変換ツールの出力形式と一致します。

キーが有効なXMLタグ名でない場合は?

スペースなど、XMLが名前に許可しない文字は_に置き換えられ、数字で始まる名前には先頭に_が追加されます。そのため"first name"はfirst_nameになります。

XML→JSONで変換したファイルを、また元に戻せますか?

はい。属性をオンにしてXML→JSON変換ツールで生成されたJSONは、@_キーや#text値も含めて、ここで対応するXMLに変換し直せます。

タグのリストのような、単純な値のJSON配列はどうなりますか?

各値がその配列のキー名を持つ繰り返し要素になります。例えばtagというキーの["a","b"]という配列は<tag>a</tag><tag>b</tag>になります。

出力にXML宣言は含まれますか?

はい。すべての結果は<?xml version="1.0" encoding="UTF-8"?>から始まり、独立した行になります。

テキスト内の<や&のような特殊文字はエスケープされますか?

はい。テキストや属性値の中でXML構文を壊してしまう文字は自動的にエスケープされるため、結果は常に問題なく解析し直せます。

配列の中のオブジェクトを、さらに別のオブジェクトの中にネストできますか?

はい。オブジェクトと配列がどんな深さ、組み合わせでネストしていても変換され、各階層がそれぞれのネストした要素の集まりになります。

関連ツール