JSONペイロードをレガシーAPI向けXMLに変換する
連携先はXMLを要求し、手元のデータはJSON。構造(要素・配列・エスケープ)を手書きせず変換します。
このガイドで使う道具
やりたいこと
SOAP時代のエンドポイントや古い社内APIはXMLを要求します。JSONオブジェクトの対応は機械的です。キーは要素、ネストしたオブジェクトはネスト、配列は要素名の繰り返しになります。
貼ってルート名を決めてコピー
JSONを貼り、ルート要素名を設定します。オブジェクトは子要素、配列は同名要素の繰り返し、トップレベル配列はルート内の<item>になります。XML名にできないキーは<item>になります。
- 出力は常に単一ルートのXML文書で、XML宣言付きです。
- 特殊文字(本文の& < > "、名前の& <)は自動でエスケープします。
引き継げないもの
JSONの型はテキストに潰れます — 数値と真偽値は文字列形になります。属性は@規約でのみ出力され({"@id": 3}は要素にid="3"を付けます)、"#text"は要素の本文になります。これらの印が無い値はすべて子要素になります。