XML JSON 変換ツール

XML を JSON に変換し、属性、繰り返す要素、名前空間の書き方を選べます。処理はすべてお使いのブラウザの中で行うため、XML がアップロードされることはありません(プライバシーポリシー(英語))。

XML JSON 変換ツールはブラウザの中だけで動作するため、JavaScript が必要です。このページのほかの部分は JavaScript なしでも表示できます。代わりに、Python の xmltodict や Node.js の fast-xml-parser といったライブラリを使う方法もあります。

XML を貼り付けるか、ファイルをドロップするか、サンプルを読み込んでください。ファイルはブラウザの中で読み込まれ、アップロードされることはありません。Ctrl+Enter で変換できます。

結果

行番号付きの JSON です。属性、テキスト、配列の書き方を変えるには「オプション」を開いてください。

JSON がここに表示されます。

このツールは役に立ちましたか? XMLNest を応援する

評価 5.0/5(3 件)

「Load example」でサンプルを入力し、「Convert」で JSON を書き出します。「Options」で「Arrays」を「Always」にすると、すべての要素が配列になり、結果がすぐに変わります。「Copy」で JSON をクリップボードにコピーします。 (25 秒、音声なし、英語の画面)

XML を JSON にオンラインで変換するには

XML を入力欄に貼り付けるか、「ファイルを開く…」で選ぶか、ツールにファイルをドロップします。次に「変換」か Ctrl+Enter(Mac では ⌘+Enter)を押してください。JSON は「結果」欄に行番号と色分け付きで表示されます。コピーするか、XML ファイルと同じ名前の .json ファイルとしてダウンロードできます。まず試すなら、「サンプルを読み込む」で小さな書籍カタログを表示してください。

XML は JSON にどう対応しますか

ルート要素は、JSON オブジェクトのただ 1 つのキーになります。テキストだけを持つ要素は文字列になります。属性や子要素を持つ要素はオブジェクトになり、先に名前の前に @ を付けた属性、次に子要素が最初に現れた順に並びます。属性とテキストの両方を持つ要素では、テキストは #text の下に入ります。同じ名前の子要素は、間にほかの要素があっても 1 つの配列にまとめます。コメント、処理命令、XML 宣言は出力しません。

属性、配列、名前空間のオプションはどれを選べばよいですか

JSON を読むコードが別の形を求める場合は、「オプション」を開きます。接頭辞を _ にするか、なしにすると、JavaScript で書きやすいキーになります。「配列」を「常に」にすると、すべての子要素が配列になり、項目が 1 つのリストも 10 個のリストも同じ形になります。「接頭辞を取り除く」を選ぶと、g:price は price になります。「数値と true/false」をオンにすると、42 や true を引用符なしで書きます。郵便番号や ID を文字列のままにしたいときはオフにしてください。

JSON への変換でファイルは送信されますか

いいえ。変換はこのタブの中で行い、ファイルは端末上で読み込まれます。このページのセキュリティ設定により、外部には何も送信できません。何も保存されず、タブを閉じれば XML は消えます。XML が壊れている場合は、XML 構文チェッカーと同じように最初のエラーを行と列で示し、「エラーの位置へ移動」で入力欄のその箇所を選択します。

コードで XML を JSON に変換するには

プロジェクトの中では、ライブラリが同じ処理をします。Node.js なら xml2js や fast-xml-parser、Python なら xmltodict、Java なら Jackson です。属性や配列の扱いはライブラリごとに違うので、使う前にサンプルの出力をここでの結果と比べてください。先に XML を整えるなら、XML 整形ツールを使ってください。

よくある質問

XML の属性は JSON でどうなりますか。

属性は @ で始まるキーになり、値は文字列になります(例:"@id": "bk101")。「オプション」で、接頭辞を _ にするか、なしにすることもできます。

配列になる要素とならない要素があるのはなぜですか。

初期設定では、同じ親の中で繰り返す要素だけを配列にします。コードで毎回同じ形が必要なら、「配列」を「常に」にしてください。

名前空間はどうなりますか。

dc:title のように接頭辞は書かれたまま残り、xmlns の宣言は属性として出力されます。接頭辞のない名前にするには、「オプション」で「接頭辞を取り除く」を選んでください。

ファイルサイズの上限はありますか。

はい。開いたファイルも貼り付けたテキストも、20 MB までです。変換はバックグラウンドで行うので、処理中もページは固まりません。

JSON を XML に戻せますか。

まだできません。このツールは XML から JSON への変換だけを行います。JSON から XML への変換は、このサイトのほかのツールとともに今後追加するかもしれません。

変換する前に Chrome で XML ファイルを確認できますか。

はい。スタイルシートのない XML ファイルは、Chrome で簡単なツリーとして表示されます。Chrome ウェブストアで公開している拡張機能 XMLNest を使うと、折りたたみや行番号が加わり、大きなファイルも読みやすくなります。