本文へスキップ
ToolMug

XML を JSON に変換

XML を JSON に変換して、XML ドキュメントやフィード、API のレスポンスを JavaScript や最新の API で扱える形にします。属性とテキストが保持されるので、JSON から同じ XML に戻すこともできます。

ブラウザ内で動作 — 入力した内容はアップロードされません

XML → JSON
出力 (JSON)

使い方

  1. XML を貼り付けるか、サンプルを読み込みます。
  2. 数値と真偽値を変換するかどうかを選びます。
  3. JSON をコピーするか、ダウンロードします。

オプションの説明

属性
id="bk101" のような属性は、"@id" というキーになります。属性と並ぶテキストは "#text" に入ります。
繰り返す要素
同じ親の下に 2 回以上現れる要素は JSON の配列になり、1 つだけの要素はオブジェクトのままです。
数値と真偽値を変換
オンにすると、44.95 は数値に、true は真偽値になります。00123 のようなコードを書かれたとおりに残したい場合はオフにします。

例

宣言とコメントを含む次の XML は、

<?xml version="1.0"?>
<!-- c -->
<catalog>
  <book id="bk101" in_stock="true">
    <title>XML Guide</title>
    <price currency="USD">44.95</price>
    <tag>a</tag><tag>b</tag>
    <isbn>00123</isbn>
  </book>
</catalog>

「数値と真偽値を変換」をオンにすると、次の JSON になります。

{
  "catalog": {
    "book": {
      "title": "XML Guide",
      "price": {
        "#text": 44.95,
        "@currency": "USD"
      },
      "tag": [
        "a",
        "b"
      ],
      "isbn": 123,
      "@id": "bk101",
      "@in_stock": true
    }
  }
}

属性は子要素のあとに並びます。宣言とコメントはなくなり、tag は 2 回現れるので配列になりました。このオプションをオフにすると、44.95 は “44.95” のまま、isbn は “00123” のまま、属性は文字列の “true” になります。この設定は、要素のテキストだけでなく属性の値にも影響します。

よくある質問

コメントや XML 宣言はどうなりますか?

JSON には入れる場所がないため削除されます。要素と属性のデータは保持されます。

リストが配列ではなくオブジェクトになることがあるのはなぜですか?

XML には、要素が繰り返されうるかどうかの情報がないためです。1 回しか出現しない場合、変換ツールはそれがリストだと判断できないので、オブジェクトを出力します。

XML が不正な場合はどうなりますか?

最初のエラーが行番号付きで表示されます。たとえば、閉じタグが開始タグと一致しない場合などです。

プライバシー

このツールはすべてブラウザ内で動作します。ファイルやテキストはお使いの端末上で処理され、当サイトのサーバーにアップロードされることはありません。

関連ツール