DevToolPal
日本語

XML を JSON に変換

属性、テキスト、繰り返し要素を保ったまま XML をブラウザ内で JSON に変換し、エラー位置も正確に表示します。

ローカルで処理、アップロードなし

オプション

入力

0 文字 · 0 B

出力

0 文字 · 0 B

何ができるか

このツールは XML ドキュメントを JSON に変換します。要素はオブジェクトのキーに、属性は接頭辞付きのキーに、要素内のテキストはその値に、繰り返される兄弟要素は配列になります。変換前に XML を検証するので、タグが閉じられていなかったり属性の書式が誤っていたりすると、正確な行と列が表示されます。

使い方

  1. 入力 欄に XML を貼り付けるか、.xml ファイルをアップロードまたはドロップするか、サンプル をクリックします。
  2. 入力に合わせて右側に JSON が表示されます。
  3. オプションを調整します。
    • インデント:スペース 2 つか 4 つ、タブ、または圧縮した出力です。
    • 属性の接頭辞:属性を示す印で、既定は @ です。空にすると属性を無視します。
    • 数値と真偽値を変換:42 や true のようなテキストを、本物の JSON の数値と真偽値にします。
    • 常に配列を使う:すべての子要素を配列で包み、構造を予測しやすくします。
  4. 結果をコピーするか、.json ファイルとしてダウンロードします。

例

<book id="bk101">
  <title lang="en">XML Developer's Guide</title>
  <tag>xml</tag>
  <tag>programming</tag>
</book>

は次のようになります。

{
  "book": {
    "title": { "#text": "XML Developer's Guide", "@lang": "en" },
    "tag": ["xml", "programming"],
    "@id": "bk101"
  }
}

補足

XML 宣言(<?xml ...?>)と処理命令は JSON に含まれません。コメントは無視されます。テキストの前後の空白は取り除かれます。

よくある質問

› XML の属性は JSON でどう表されますか?

属性の接頭辞(既定は "@")で始まるキーとして表されます。たとえば <price currency="USD">44.95</price> は { "@currency": "USD", "#text": "44.95" } になります。接頭辞の欄を空にすると、属性は完全に削除されます。

› 要素が配列になったりオブジェクトになったりするのはなぜですか?

繰り返される要素は配列になり、1 つだけの要素はそのままの値になります。コードが常に同じ形を前提としている場合は、「常に配列を使う」をオンにしてください。

› 数値は変換されますか?

既定では変換されません。郵便番号や先頭にゼロがある ID などの値が変わってしまうからです。「数値と真偽値を変換」をオンにすると、"42" の代わりに 42、"true" の代わりに true が得られます。

› XML はアップロードされますか?

いいえ。解析はブラウザ内で行われます。