XML JSON へのコンバーター

3 つのマッピング戦略を備えた双方向 XML および JSON コンバーター。 xml2js スタイルの出力の場合はコンパクト、ロスレスのラウンドトリップの場合は冗長、JavaScript に適した最もクリーンな結果の場合は簡略化を選択します。属性、CDATA、名前空間、および繰り返し要素を処理します。

変換ツール · 100% クライアント側 · データは送信されません

XML Input 0 chars
Waiting for input
JSON Output 0 chars
Idle

XML を JSON に変換する方法

マッピング戦略を選択する

Compact (デフォルト) は属性を以下に配置します @- プレフィックス付きキー、その下のテキストコンテンツ #text、繰り返される子要素を配列にマージします。これは、xml2js およびほとんどのバックエンド XML ライブラリで使用される規則に一致します。冗長は明示的なものを生成します { name, attributes, children } すべてのノードに曖昧さのない構造があり、完全にロスレスのラウンドトリップに最適です。 Simplified では、テキストのみの要素が裸の文字列値に折りたたまれ、リーフ ノードの属性が失われる代わりに、JavaScript に適した最もクリーンな出力が得られます。

XML を貼り付けるか入力します

有効な XML を左側のペインに入力します。ライブ モードが有効な場合、ツールは入力と同時にライブ変換します。 [変換] をクリックして、ライブ オフを切り替えてオンデマンドのみに変換します。 [サンプル] をクリックして、属性、繰り返し要素、および CDATA セクションを含む現実的なライブラリ カタログの例をロードし、3 つの戦略すべてを検討します。

属性、CDATA、および名前空間

CDATA セクションは、3 つのモードすべてでテキスト コンテンツとして保存されます。コメントはデフォルトで削除されますが (JSON にはコメント構文がありません)、冗長モードでは型付きノードとして保持されます。次のような名前空間プレフィックス soap:Envelope または xsi:type 要素名と属性名の一部としてそのまま保持されます。ツールは名前空間を解決しませんが、エラーなしで処理します。すべての XML エンティティ参照 (&<、数値 &#NN;) は解析時にデコードされ、出力時に再エンコードされます。

逆変換: JSON から XML へ

方向トグルを JSON → XML に切り替えて、JSON オブジェクトから XML を再構築します。コンパクトな JSON が期待するもの @-接頭辞付きの属性キーと #text テキストコンテンツの場合。 Verbose JSON は、型指定されたノード オブジェクトの配列である必要があります。簡略化された JSON は、すべてのプリミティブ値を子要素のテキストとして扱います。 _text 特別なテキストキーとして。 Swap を使用して出力を入力として送り返し、ラウンドトリップを即座に検証します。

よくある質問

XML を JSON に変換する理由

XML は、従来の API、SOAP サービス、RSS フィード、構成ファイル、政府のデータ形式で依然として一般的です。 JSON は JavaScript のネイティブ データ構造であり、最新の REST API の主要な形式です。変換すると、最新のフロントエンド、Node.js サービス、または Python スクリプトで XML データを簡単に利用できるようになります。

3 つのマッピング戦略の違いは何ですか?

Compact は属性を下に置きます @- 接頭辞付きキー、その下のテキスト #text、繰り返される子要素を配列にマージします。xml2js の規則に一致します。冗長は明示的なものを生成します { name, attributes, children } 曖昧さのない構造。 Simplified では、テキストのみの要素が裸の文字列に折りたたまれ、JavaScript に適した最もクリーンな出力が生成されますが、それらのノードの属性は失われます。

CDATA、コメント、名前空間は処理されますか?

CDATA セクションはテキスト コンテンツとして保存されます。コメントはデフォルトで削除されますが (JSON にはコメント構文がありません)、冗長モードのままです。次のような名前空間プレフィックス soap:Envelope 要素名と属性名の一部としてそのまま保持されます。このツールは名前空間の解決を実行しませんが、接頭辞付きの名前でも中断しません。

変換はロスレスですか?

Verbose モードは完全にロスレスです。コンパクト モードでは、コメントと、属性と子の間の順序が失われます。簡略化モードでは、テキストのみの要素の属性も失われます。逆方向では、JSON が選択した戦略と一致する限り、3 つの形式のいずれかから有効な XML が再構築されます。

私のファイルはどこかにアップロードされていますか?

いいえ。パーサー、シリアライザー、およびリバース コンバーターはすべて、JavaScript を使用してブラウザー内で完全に実行されます。サーバーには何も送信されず、入力を監視する分析も行われず、ページは一度読み込まれるとオフラインで動作します。