JSON → XML 変換ツール

JSONを、SOAPサービスやレガシーシステムとの連携、XMLベースの設定ファイル向けにインデントされたXMLへ変換します。

JSON

JSONオブジェクトをXML要素に変換

SOAPサービス、決済ゲートウェイ、RSSフィード、そして多くのエンタープライズシステムでは今もXMLが使われています。このツールはJSONを予測しやすいルールでXMLにマッピングします。各キーは要素になり、配列は項目ごとに同じ要素を繰り返す形になり、ネストしたオブジェクトはネストした要素になります。属性や混合テキストを出力するには、特殊キーの _attributes と _text を使います。これはXML → JSON変換ツールが出力する形と同じなので、データを相互に往復変換できます。出力は2スペースでインデントされます。

使い方

  1. データを1つのトップレベルキーで囲みます。このキーがXMLのルート要素になります。例: {"order": {...}}
  2. JSONを貼り付けます。属性が必要な要素には _attributes オブジェクトを追加します。
  3. 出力エディタからXMLをコピーします。

よくある質問

XMLにルート要素が複数できてしまうのはなぜですか?
JSONのトップレベルのキーはそれぞれトップレベルの要素になります。整形式(well-formed)のXMLドキュメントにはルートがちょうど1つ必要なため、{"root": {...}} のようにデータを1つのキーで囲んでください。
XML属性はどうやって作成しますか?
要素に _attributes オブジェクトを追加します。たとえば {"book": {"_attributes": {"id": "bk101"}, "title": "Midnight Rain"}} は <book id="bk101"><title>Midnight Rain</title></book> になります。
XML宣言は追加されますか?
デフォルトでは追加されません。トップレベルに {"_declaration": {"_attributes": {"version": "1.0", "encoding": "UTF-8"}}} のような _declaration キーを追加すると、<?xml version="1.0" encoding="UTF-8"?> が出力されます。

例: JSONからXMLへの変換

JSON 入力

{
  "order": {
    "_attributes": { "id": "1042" },
    "customer": "Ada Lovelace",
    "item": [
      { "sku": "BK-01", "qty": 2 },
      { "sku": "PN-07", "qty": 1 }
    ]
  }
}

XML 出力

<order id="1042">
  <customer>Ada Lovelace</customer>
  <item>
    <sku>BK-01</sku>
    <qty>2</qty>
  </item>
  <item>
    <sku>PN-07</sku>
    <qty>1</qty>
  </item>
</order>

その他の変換