{ }JSONKit.tools

XML → JSON 変換ツール

XML を貼り付けると JSON が返ります。属性は @ 接頭辞つきのキーとして保持され、繰り返し要素は配列にまとめられます。無効な XML は行と列つきで報告されます。

XML → JSON⇄JSON → XML

XML

JSON

入力を待っています…

このツールについて

XML は 2 種類のデータを運びますが、JSON にはその置き場所が 1 つしかありません。子要素と属性です。この変換ツールは属性名の先頭に @ を付けることで両方を保持します。そのため失われるものはなく、両者は区別できたままです。繰り返される兄弟要素は配列にまとまります。JSON では同じキーを繰り返せないからです。文書は解析前に検証されるため、対応の取れていないタグがあれば、中途半端に変換されたオブジェクトではなく行番号が返ります。

使い方

  1. 1XML 文書を左のパネルに貼り付けます。
  2. 2右側で JSON を読みます。属性は @name というキーで現れます。
  3. 3出力をツリーに切り替えて深い文書を折りたたむか、コピーを押します。

よくある質問

›XML の属性はどうなりますか?

要素と同じオブジェクト上で、@ を先頭に付けたキーになります。<user id="7"> は { "user": { "@id": "7" } } になります。失われるものはなく、属性と子要素は一目で見分けられます。

›繰り返し要素が配列になったのはなぜですか?

JSON では同じキーを繰り返す方法がないためです。<item> が 1 つならオブジェクト、2 つ以上ならオブジェクトの配列になります。同じスキーマでもデータ次第で JSON の形が変わる唯一の箇所です。

›変換は元に戻せますか?

ほぼ戻せます。要素、属性、テキストは往復しても残ります。残らないのは、コメント、処理命令、名前空間宣言そのもの、そして空要素と空文字列の違いです。

›ここで無効とされる XML は何ですか?

閉じられていないタグや対応の取れないタグ、複数のルート要素、テキスト中に紛れた < や &、引用符で囲まれていない属性値です。エラーは行と列を示すので、直接その場所へ飛べます。

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

はい。有効な数値や真偽値であるテキストは、引用符つきの文字列ではなく JSON の数値・真偽値になります。結果をコードに渡す場合、たいていはそれが望ましい形です。