ガイド

JSONをXMLへ変換する方法

JSONテキストを入力し、必要に応じてルート名と整形出力を設定して、XMLへ変換します。空の入力、`null`、配列、XML名に使えないキーは、それぞれ異なる結果になるため確認が必要です。

ツール JSONからXMLへの変換ツール

JSONテキストを入力し、必要に応じてルート名と整形出力を設定して、XMLへ変換します。空の入力、null、配列、XML名に使えないキーは、それぞれ異なる結果になるため確認が必要です。

JSONからXMLへ変換する場面

JSONテキストをXMLへ変換したいときに使えるツールです。入力欄にJSONを指定し、必要に応じてルート名と整形出力を調整できます。オブジェクトの階層や配列の形が、変換後の要素構造にどう反映されるかを確認したい場合にも向いています。入力を省略した場合は空文字列、ルート名はroot、整形出力は有効として扱われます。

変換の手順

  1. JSONテキストを入力します。たとえば、{"user":{"name":"Aki"},"tags":["red","blue"]}のような値を指定します。
  2. 必要ならルート名を変更し、整形出力の設定を選びます。ルート名とJSONキーにXML名として使えない文字がある場合、その文字はアンダースコアに置き換えられます。名前の先頭が数字の場合は、先頭にアンダースコアが付加されます。
  3. 変換を実行し、結果のXMLを確認します。オブジェクトの各メンバーは子要素になり、入れ子のオブジェクトは対応するメンバーの要素内に入ります。配列の項目は、最上位またはオブジェクト内かによってitemまたは親のメンバー名を使う形になります。
  4. 結果が失敗になった場合は、JSONの構文を見直します。空白だけの入力は受け付けられますが、空のXML文字列が返ります。JSONのnullは、空のルート要素として返ります。

結果の読み方と注意点

整形出力を有効にした非空・非nullのJSONでは、XML宣言が先頭に付く形式になり、インデントが試みられます。一方、空白だけの入力はXML宣言を含まない空文字列、nullはXML宣言なしの自己終了ルート要素です。文字列値にXMLで特別な意味を持つ文字が含まれる場合は、シリアライズ時にエスケープされます。

キー名がそのまま要素名になるとは限りません。XML名に使えない文字の置換や先頭数字への対応があるため、元のJSONキーと変換後の要素名を照合してください。配列の要素名も、配列の位置と入れ子の形を確認して判断します。

使用例

顧客データのJSONをXML連携用の要素構造として確認したい場合に、userオブジェクトとtags配列を含む入力を変換します。

ユーザー情報と2つのタグを含むJSONを入力し、既定のルート名と整形出力のまま変換結果を確認します。

オブジェクトのuserは子要素を含むuser要素になり、tagsのプリミティブ配列はtags要素の繰り返しとして表現されます。整形出力が有効なら、非空・非nullの結果にはXML宣言とインデントが試みられます。

制限事項

  • 元のJSONキー名がすべてそのままXML要素名として保持されるわけではありません。また、空入力、null、非空JSONでは出力形式が異なります。

よくある間違い

  • JSONのカンマ、引用符、括弧などの構文が崩れていると、変換済みXMLではなく失敗になります。実行前にJSONとして正しい構文へ修正してください。

よくある質問

JSONオブジェクトはXMLでどう表現されますか?

JSONの構文が正しければ、オブジェクトのメンバーは子XML要素になります。入れ子のオブジェクトは対応するメンバーの要素内に配置されます。

JSONの配列はどの要素名になりますか?

配列の位置によって異なります。最上位配列とオブジェクト内の配列ではitem要素が使われ、オブジェクト内のプリミティブ配列では親のメンバー名が繰り返し使われます。入れ子のリストでは親タグが再利用されます。

空の入力やnullを変換するとどうなりますか?

空白だけの入力なら空のXML文字列になり、JSONのnullならXML宣言のない自己終了ルート要素になります。通常の非空・非nullのJSONでは、整形出力が有効ならXML宣言とインデントが試みられます。

ツール

JSONからXMLへの変換ツール