JSONをXMLに変換 — オブジェクトと配列に対応
JSONをXMLに変換。ルート要素名を指定でき、配列の扱いも明確
ブラウザー内で処理・アップロード不要
オブジェクトのキーは要素名に、配列の各項目はitem要素になります。null・空オブジェクト・空配列はすべて空要素になるため、元の型は復元できません。要素名にできないキーはエラーになります。
使い方
- 正しいJSONを貼り付けます。
- ルート要素名を指定するか、rootのままにします。
- 配列や空の値の表され方を確認します。
- 生成されたXMLテキストをコピーします。
変換ルール
オブジェクトのキーはXMLの要素名になります。配列の各項目は順序を保ったままitem子要素になります。アンパサンド、山括弧、引用符はXMLエンティティにエスケープします。文字列中の復帰文字(CR)は文字参照で表します。日本語・中国語・絵文字の値はUnicodeテキストのまま残ります。
null・空オブジェクト・空配列はすべて空要素になります。プリミティブ値には型を示す属性が付かないため、この出力だけでは元のJSONの型を再現できません。名前は対応する文字またはアンダースコアで始める必要があり、コロンを含む名前空間プレフィックスには対応していません。XML 1.0の制御文字や単独のサロゲートコードユニットは拒否します。
例
{"name":"太郎","tags":["中文","😀"]} からは、name要素と、2つのitem子要素を持つtags要素が作られます。{"message":"A & B"} ではアンパサンドがエスケープされます。{"empty":null} は空要素になります。
精度と制限
重複したキー、安全な範囲を超える整数、精度が高すぎる小数、あふれる数値は、値を黙って変えるのではなくエラーにします。正確に保ちたい識別子や小数の数量は、JSONの文字列として引用符で囲んでください。入力は100万文字・64階層までです。これは汎用的な要素の対応付けであり、特定のベンダーのXMLスキーマを実装するものではありません。処理はすべてブラウザー内で行います。
よくある質問
配列はどう表されますか?
配列の各値は、外側の要素の中のitem要素になります。配列の順序は保たれます。
JSONの型はすべて保持されますか?
いいえ。数値と文字列は同じテキストとして表され、null・空オブジェクト・空配列は空要素になります。往復しても完全に同じ形に戻したい場合は、元のJSONを残しておいてください。
プロパティ名が拒否されるのはなぜですか?
オブジェクトのキーはXMLの要素名として使える必要があります。空白、コロン、絵文字を含むキーや数字で始まるキーは拒否されます。日本語や中国語の文字は使えます。
データはサーバーに送信されますか?
いいえ。処理はすべてブラウザー内で行います。