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 を使うと、折りたたみや行番号が加わり、大きなファイルも読みやすくなります。