最近使用したツールはありません
お気に入りはまだありません

XML→JSON変換:XMLをJSONに無料で変換 | オンラインツール

68 回使用

XML→JSON変換のヒント

XMLを即座にJSONに変換
XML文書を貼り付けると、属性を@attributesオブジェクトとして保持した構造化JSONが得られます。
ネスト要素に対応
深くネストされたXML構造も正しくJSONオブジェクトと配列に変換されます。
XML属性を保持
属性は@attributesオブジェクトとしてJSON出力に保存されます。
ブラウザ内処理
XMLの解析はすべてブラウザ内で行われます。

よくある質問

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

XML→JSON変換の使い方

関連ツール