XML → JSON
あらゆるXML文書を解析してJSONに変換します。同名の兄弟要素は配列にまとめ、属性とテキストは保持し、不正なXMLは変換前に通知します。
XML文書を解析してJSONに変換します。同じ名前の兄弟要素は配列になり、属性とテキストの内容は保持され、不正なXMLは変換を行う前に問題の位置とともに報告されます。
APIや書き出しデータがXMLなのに、他のツールがJSONで動いているときに役立ちます。SOAPのレスポンス、データフィード、設定のエクスポートなどが例です。属性は子要素と並べて保持されるので何も失われず、構造は後から自分のスキーマに合わせて対応付けやすくなっています。
XMLをJSONに変換する方法
XMLを貼り付けます
変換して構造を確認します
JSONをコピーまたはダウンロードします
よくある質問
繰り返し要素はどのように扱われますか?
同じタグ名の兄弟要素は、数に関係なく配列になります。そのため要素が1つだけのリストも、単一のオブジェクトではなくリストとして解析されます。
属性はどうなりますか?
要素の内容と並ぶプロパティとして保持されるため、何も失われません。スキーマが属性専用のオブジェクトを期待する場合は、対応付けの段階で名前を調整してください。
要素の元の順序は保てますか?
JSONのオブジェクトは定義上順序を持たないため、要素の順序は保証されません。順序に意味がある場合は、元のXMLを参照として保管してください。
XMLが拒否されたのはなぜですか?
よくある原因は、閉じられていないタグ、宣言されていない名前空間の接頭辞、XML宣言の前にある余分なテキストです。エラーメッセージは解析に失敗した位置を示します。
CDATAと名前空間に対応していますか?
CDATAセクションはテキストとして読み込まれ、名前空間の接頭辞は要素名の一部として保持されます。忠実な対応付けには通常これが望ましい形です。
XMLはアップロードされますか?
いいえ。解析はブラウザ内でローカルに行われます。
概要
| 入力 | XML |
|---|---|
| 複数ファイル | いいえ |
| 実行場所 | ブラウザ内で実行 - ファイルはアップロードされません |
| オフラインでも動作 | はい — ページを読み込んだ後 |
| 料金 | 無料・登録不要・透かしなし |
データ形式の選び方
JSONは、APIが返すものやプログラムが読み取るものの既定の選択です。入れ子構造、数値、真偽値、nullを自然に扱え、どの言語でもパースできます。CSVはより小さく、表計算ソフトでそのまま開けますが、入れ子を表現する方法がなく、区切り文字、引用符、文字コードに関する共通規格もありません。変換がうまくいかないのはまさにこの点です。XMLは冗長ですが、属性、混在コンテンツ、スキーマを扱えるため、文書形式や既存の連携では今も主流です。YAMLは設定ファイルにとって最も読みやすい形式ですが、空白に敏感で、型の自動変換が意外な結果を生みます(「no」がfalseになったり、1.10のようなバージョンが1.1になったりします)。見た目が最もよいものではなく、利用する側のツールが好む形式を選んでください。
変換が静かに壊れるところ
変換のバグの多くは構文ではなく意味の問題です。郵便番号のCSV列は、表計算ソフトが数値だと推測した瞬間に先頭のゼロを失います。長いIDは浮動小数点の精度を超えてしまいます。日付は、日が先か月が先かによって意味が変わります。JSONのキーには順序がありませんが、配列にはあります。キーを並べ替えるツールは何も変えませんが、配列を並べ替えるツールはデータを変えてしまいます。Unicodeも落とし穴です。テキストはUTF-8やUTF-16、あるいはBOM付きで届くことがあり、推測を誤ったデコーダーはアクセント付きの文字を文字化けに変えてしまいます。変換を信用する前に、最初と最後の行、先頭にゼロがあるフィールド、引用符・カンマ・改行を含むフィールドを抜き取り検査してください。