XML から JSON への変換

XML を JSON に変換します。属性はプレフィックス付きで保持し、繰り返し要素は配列に。数値・真偽値の解析も任意で、構文エラーを分かりやすく表示します。

すべてブラウザ内で実行されます。データがアップロードされることはありません。

関連ツール

すべて表示

XML から JSONとは?

XML を貼り付けると、同等の JSON オブジェクトが得られます。要素名はキーに、繰り返し要素は配列になり、属性は設定可能なプレフィックス付きで保持され、混在するテキストは #text に格納されます。不正な XML は行と列の位置とともに報告されます。

XML から JSONの使い方

  1. XML 入力 に XML を貼り付けるか、サンプルを読み込む や ファイルを開く を使います。
  2. 必要に応じて 属性キーのプレフィックス、属性を無視、数値と真偽値に変換、要素を常に配列にする を調整します。
  3. JSON の インデント を選びます。
  4. JSON の出力は入力に合わせて更新されます。コピー または ダウンロード を使います。

例

入力
<book id="7"><title>Dune</title><price>9.5</price></book>
出力
{
  "book": {
    "title": "Dune",
    "price": 9.5,
    "@_id": 7
  }
}

XML から JSONを使うべき場面

XML のデータ(フィード、SOAP レスポンス、設定ファイル)を調べたり、JSON ベースのツールに移行したりするときに使います。コメント、名前空間宣言、テキストに対する要素の順序は完全には保持されないため、XHTML のようなドキュメントのラウンドトリップには向きません。

XML から JSONの仕組み

まず fast-xml-parser の XMLValidator でドキュメントを検証し、最初の構文エラーを位置とともに報告します。その後 XMLParser で解析します。XML 宣言と処理命令は取り除かれ、値は前後の空白が削除され、型変換がオンの場合は 9.5 や true のような数値・真偽値のテキストが JSON の数値・真偽値になります。要素を常に配列にする を使うと、すべての要素が配列に包まれ、子要素の数にかかわらず構造が安定します。

一般的な使用例

  • SOAP や RSS のレスポンスを JSON として確認する
  • XML の設定を JSON 形式に移行する
  • XML のエクスポートを JavaScript のコードに読み込む
  • 2 つの XML ドキュメントを JSON に変換して比較する

よくある質問

要素が 1 つだとオブジェクトで、2 つだと配列になるのはなぜですか?

既定では、要素が繰り返されたときだけ配列が作られます。形を一定にしたい場合は 要素を常に配列にする を有効にしてください。

「007」が 7 になったのはなぜですか?

型変換により数値のテキストが数値になります。すべての値を文字列のままにするには、数値と真偽値に変換 をオフにしてください。

属性はどこに入りますか?

要素のオブジェクトの中に、プレフィックス付きで格納されます(例:"@_id": 7)。属性を無視 を有効にすると、属性は除かれます。

おすすめの次のステップ

JSON フォーマッター
JSON をスペース 2 つ・4 つ・タブで整形(プリティプリント)し、キーの並べ替えや、構文エラーの正確な行と列の表示にも対応。処理はブラウザ内で完結します。
SQL フォーマッター
MySQL、PostgreSQL、SQL Server、Oracle、BigQuery など 16 種類の方言の SQL クエリを整形。キーワードの大文字・小文字とインデントを選べます。処理はブラウザ内で完結します。
コードビューティファイアー
定評あるフォーマッターで、14 言語のコードを統一された書式に整形します。JavaScript、TypeScript、HTML、CSS、SQL、PHP、Python などに対応し、ブラウザ内で動作します。
エスケープ/アンエスケープ
JSON、JavaScript、HTML、XML、URL コンポーネント、正規表現、SQL リテラル、CSS 文字列、シェル引数向けに、文字列をエスケープ・アンエスケープできる 1 つのツールです。
フェイクデータジェネレーター
氏名、メール、電話番号、住所、会社、生年月日などのリアルなテスト用ダミーデータを 8 つのロケールで生成。JSON・CSV・SQL INSERT で出力でき、シード指定で再現も可能です。
JSON ミニファイアー
値、キーの順序、大きな数値をそのまま保ちつつ、意味のない空白をすべて削除して JSON を圧縮。削減されたサイズを表示します。無料でブラウザ内で動作。

他のカテゴリを見る