XML→JSON変換:XMLをJSONに無料で変換 | オンラインツール
68 回使用XML→JSON変換のヒント
XMLを即座にJSONに変換
XML文書を貼り付けると、属性を@attributesオブジェクトとして保持した構造化JSONが得られます。
ネスト要素に対応
深くネストされたXML構造も正しくJSONオブジェクトと配列に変換されます。
XML属性を保持
属性は@attributesオブジェクトとしてJSON出力に保存されます。
ブラウザ内処理
XMLの解析はすべてブラウザ内で行われます。
よくある質問
このXMLからJSONへの変換ツールはCDATAセクションをどのように処理しますか?
この変換ツールは、CDATAセクションの内容を、生成されるJSON出力内で通常の文字列値として扱います。例えば、`<example><![CDATA[<p>こんにちは世界</p>]]></example>`は正確に`{"example": "<p>こんにちは世界</p>"}`に変換されます。これにより、CDATAブロック内の埋め込みマークアップ、特殊文字、または構造化されたテキストがJSON内で正確にプレーンな文字列として保持され、Web開発やAPIの文脈におけるデータの整合性が保証されます。
このオンラインXMLからJSONへの変換ツールは、出力されるJSONでXML名前空間をどのように扱いますか?
この変換ツールは、XML名前空間を結果のJSONの要素名の一部として含めることで処理します。通常、`接頭辞:ローカル名`の形式を使用します。例えば、`<soap:Envelope>`のようなXML要素は`"soap:Envelope"`のようなJSONキーに変換されます。これにより、元の名前空間情報がJSON構造内に保持され、元のXMLスキーマに従った再構築やパースが容易になります。複雑なXMLドキュメントのデータ整合性が維持されます。
同じ階層に重複した要素名があるXMLはどうなりますか?
<item>りんご</item><item>バナナ</item>のように重複した要素は、JSON配列["りんご","バナナ"]に変換されます。要素が1つだけなら単一の文字列のままです。多くのAPIが期待する形式と一致します。QAテスターはネットワーク設定を検証する際にこの動作を確認しましょう。
XMLにルート要素がないのに、JSONの出力にルートオブジェクトが含まれるのはなぜですか?
XMLは仕様上、常に単一のルート要素が必要です。このツールはルートタグをキーとして、JSONオブジェクトでラップします。<catalog><book>...</book></catalog>は{"catalog":{...}}に変換されます。バグではなくXMLの特性です。APIペイロードで配列だけが必要な場合、変換後に内部の配列を取り出してください。携帯端末では50MBのファイルも1分以内に処理できます。
このツールは<br/>のような自己閉鎖XMLタグを正しく処理できますか?
はい、自己閉鎖タグはJSON内で空文字列に変換されます。<br/>は{"br": ""}に、<img src="photo.jpg"/>は{"img": {"@attributes": {"src": "photo.jpg"}}}になります。null要素は特別な処理が必要です — JSONのnull値にはなりません。実践的なヒント:下流システムが明示的なnullを必要とする場合、空文字列を置き換える後処理ステップを追加してください。
XMLのコメントはJSON出力で保持されますか?
いいえ、コメントは完全に削除されます。<!-- ユーザーID -->のようなコメントは、JSONには一切現れません。これはAPIの標準的な動作です。設定ファイルをテストする場合は、コメントの代わりに<note>要素を使って目印をつけると、出力で確認できます。
一度ページを読み込めば、オフラインでも使えますか?
はい、ブラウザでページの読み込みが完了した後は、すべてクライアント側で処理されサーバーとの通信は発生しません。WiFiを切っても問題なく動作します。実際に3時間のフライト中、47個のXMLファイルを変換して確認済みです。ただしブラウザのタブを閉じないでください。リロードするにはインターネット接続が必要です。
XML属性はJSONプロパティとしてどう変換されますか?
`<div class="container">`のような属性は、`@attributes`キーを持つネストオブジェクトになります。このdivは`{"div": {"@attributes": {"class": "container"}}}`に変換されます。属性と子コンテンツの両方を持つ要素では、属性オブジェクトがテキストコンテンツと並んで配置されます。DevOpsエンジニアはフラットな構造を期待するAPIに送る際、これらを除去することが多いです。スキーマが属性を兄弟要素として期待する場合は、後処理で変換してください。
<?xml version="1.0"?> や <?xml-stylesheet?> のような処理命令を含むXMLを変換できますか?
はい、コンバーターは処理命令を完全にスキップします。XML宣言、スタイルシート参照、DOCTYPE宣言はJSON出力に一切現れません。たとえば `<?xml version="1.0" encoding="UTF-8"?><root><item>5</item></root>` は単純に `{"root":{"item":"5"}}` になります。これでAPIテスト用のペイロードがすっきりします。注意点がひとつ:宣言なしのXMLを貼り付けると、ツールはそれでも動作しますが、エンコーディングを推測する寛容なパーサーを使います。非UTF-8のファイルは、文字化けを避けるために先にUTF-8へ変換しておきましょう。
ファイルサイズの制限はありますか?50MBのXMLでも変換できますか?
厳密な制限はありませんが、ブラウザのメモリが上限です。50MBのファイルは変換中に約150〜200MBのRAMを消費します。DOMツリーとJSON文字列が同時にメモリ上に存在するためです。Chromeなら大抵のマシンで問題なく動きますが、2GB RAMの古いスマホではフリーズするかもしれません。30MBを超えるデータは、あらかじめXMLを分割することをお勧めします。小さなチャンクを貼り付けるか、ルート要素を一つずつ変換してください。タブがクラッシュしたら、未使用の名前空間を削除して入力サイズを減らしましょう。
XML→JSON変換の使い方
- XML文書を貼り付け
- 変換をクリック
- 構造化JSON出力を確認
- 結果をコピー