JSON → XML 変換ツール
JSONを、SOAPサービスやレガシーシステムとの連携、XMLベースの設定ファイル向けにインデントされたXMLへ変換します。
JSON
JSONオブジェクトをXML要素に変換
SOAPサービス、決済ゲートウェイ、RSSフィード、そして多くのエンタープライズシステムでは今もXMLが使われています。このツールはJSONを予測しやすいルールでXMLにマッピングします。各キーは要素になり、配列は項目ごとに同じ要素を繰り返す形になり、ネストしたオブジェクトはネストした要素になります。属性や混合テキストを出力するには、特殊キーの _attributes と _text を使います。これはXML → JSON変換ツールが出力する形と同じなので、データを相互に往復変換できます。出力は2スペースでインデントされます。
使い方
- データを1つのトップレベルキーで囲みます。このキーがXMLのルート要素になります。例: {"order": {...}}
- JSONを貼り付けます。属性が必要な要素には _attributes オブジェクトを追加します。
- 出力エディタから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>