XMLをJSONに変換
XMLをJSONに、またその逆に、ページ内で変換します。
- ブラウザ上で動作します — テキストはどこにも送信されません
- 登録不要、利用回数の上限なし、何度でも無料で使えます
仕組み
XMLとJSONは、同じ種類の構造化データを互換性のない方法で表現しており、どちらか一方しか扱えないシステムも多くあります。両者の間の変換は連携作業で常に発生する雑務で、見知らぬ人のサーバーに貼り付けるべきでないものを含むペイロードで行うことがほとんどです。
属性は@フィールドになります
JSONには属性という概念がないため、XMLの属性は@を先頭に付けたフィールドになり、子要素と並んでいるテキストの内容は#textになります。この規則は広く使われており、重要なことに元に戻せます。逆変換すると、余分な要素ではなく、再び属性が生成されます。
繰り返される要素は配列になります
同じ名前の兄弟要素が2つ以上あると、JSONの配列になります。要素が1つだけなら単独の値のままです。つまり、たまたま1項目しか含まないリストは、同じリストで2項目あるものとは異なる形で変換されます。この曖昧さはXMLに固有のもので、ここでの選択ではありません。結果からコードを生成する場合は、知っておく価値があります。
逆方向の変換
JSONのキーは要素名になり、XMLが整形式を保てるよう、無効な文字は置き換えられます。@で始まるキーは属性に、#textはテキストの内容になるので、JSONに変換して戻したドキュメントは、はっきり同じものと分かる形で出力されます。
最初に検証します
XMLはお使いのブラウザ自身のパーサーで、JSONはそのJSONパーサーで解析されるので、不正な入力は、崩れた出力ではなく、実際のメッセージとともに報告されます。
XMLをJSONに変換に関するよくある質問
XMLの属性はどうなりますか?
@を先頭に付けたフィールドになり、元に戻すと正しく属性に変換されます。
要素が1つだけの場合、なぜ配列にならないのですか?
XMLでは、要素が1つのリストと単独の要素を区別できません。この曖昧さは形式そのものにあります。
JSONをXMLに戻せますか?
はい。JSONを貼り付けると、逆方向に変換します。
データはアップロードされますか?
いいえ。どちらの変換もブラウザ上で実行されます。