JSONツール

XML JSON変換属性と文章の位置を確かめる

属性と繰り返し要素のサンプル、文章にタグが混じるサンプルを用意しています。

XML JSON変換

JSONからXMLへ

XML入力

JSON結果

このブラウザー内で処理します。入力を送信・保存しません。

出力設定

属性と修飾名を常に保持します。値は文字列のままです。

結果が古いため、書き出しできません。

XML JSON変換では、タグをキーに置き換えるだけでは足りない場合があります。注文が1件でも配列を期待する処理や、文章の途中に強調タグが入る文書では、出力の形を先に決める必要があります。

このXML変換ツールは値の型を推測しません。XMLをJSONに変換した後に必要な数値型や業務スキーマは、受け取り側で確認してください。

XML JSON変換で確かめたいこと

1件の子要素も配列にそろえる

XML JSON変換の既定では、隣接する同名要素が複数あると配列になります。常に配列にする設定なら1件でも形が変わらず、受け取り側の分岐を減らせます。ルート名は配列で包みません。

1個と2個の項目がそれぞれ配列の容器に入り、1個でも配列の形を保つ図。

文章の途中のタグを動かさない

コンパクト形式では混在内容やa,b,aの順序を表せません。エラーで止め、順序付きモードへの切り替えを案内します。文章と要素は同じcontent配列に元の順で並びます。

文字列、要素、続く文字列が同じ順番で内容配列に入る図。

見落としやすい設定を先に確認

01

混在サンプルを比較する

通常のサンプルはコンパクト形式で変換できます。混在サンプルでエラーを確認してから順序付きに切り替え、contentのノード順を確認してください。

02

空白の意味を決める

葉の文字列をtrimすることはありません。既定では要素間の整形用空白だけを省きます。xml:space="preserve"は継承して優先され、全空白の保持には順序付き形式が必要な場合があります。

03

更新のタイミングを制御する

自動変換は350ミリ秒待って実行します。オフにすると変換ボタンまたはCtrl/Cmd+Enterで実行できます。入力や設定を変更すると、成功するまで古い結果の保存を無効にします。

データの役割が分かる出力

属性と名前空間を区別

コンパクト形式ではXML属性idを@idにし、属性付き葉の本文を#textに置きます。p:itemとq:item、xmlns宣言を保持し、順序付きの要素にはnamespaceURIも記録します。

ノード種別を残す

順序付き形式は要素、テキスト、CDATA、コメント、処理命令をcontent配列に記録します。XML宣言は別のメタデータです。コンパクト形式ではCDATAをテキストにまとめ、コメントと処理命令は拒否します。

識別子の表記を守る

001、12.00、true、大きな整数も文字列のままです。空要素はコンパクト形式で空文字列になります。スキーマなしに数値や真偽値、nullへ変換することはありません。

出力前に確認する制約

単一ルートのXML 1.0のみ
整形式の文書を受け付けます。DOCTYPEは内部実体宣言も含めて拒否し、外部実体やXIncludeを取得・展開しません。壊れたタグや重複属性を自動修復する機能はありません。 文字コード宣言はUTF-8またはUTF8のみ受け付けます。
コンパクト形式で失う順序は拒否
混在テキスト、交互に現れる同名要素、コメント、処理命令は変換エラーになります。ルート外のコメントも対象です。ルート前後の空白まで残す場合も順序付き形式を使います。
原文のバイト列は復元しない
XMLの規則で改行や属性空白が正規化され、文字参照が展開されます。コンパクト形式は宣言とCDATAの区切りを残しません。接頭辞の削除、XSD検証、完全な往復変換は行いません。
一度に一つのテキスト文書
入力500,000文字、深さ100、ノードと属性50,000件、出力2,000,000文字までです。ファイル読込、URL取得、一括処理、履歴はありません。逆変換リンクはデータを送らず別ページを開きます。

XML JSON変換の疑問

属性はどう表現されますか?

コンパクト形式は属性名の前に@を付けます。属性付き要素の本文には#textを使います。同名の子要素と属性は別のキーなので、片方で上書きされません。

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

XML JSON変換は隣接する同名の子要素を配列にまとめます。1件の場合も配列にそろえたいときは専用設定をオンにしてください。ルートの外側には配列を追加しません。

なぜ数値が文字列のままなのですか?

001は数ではなくコードかもしれず、12.00の桁数にも意味がある場合があります。入力に型を決めるスキーマがないため、すべて文字列で渡します。

名前空間はどうなりますか?

接頭辞付きの名前とxmlns宣言を残します。順序付きの要素では解決済みnamespaceURIも確認できます。別の接頭辞を自動で統一したり削除したりはしません。

コメントやCDATAは保持されますか?

順序付きモードではコメントとCDATAを別の種別として残します。コンパクト形式はコメントを拒否し、CDATAの中身は通常テキストと結合します。元のCDATA区切りは復元できません。

予期しない結果が出ましたか?

次の文書の構造を確認

XML JSON変換で属性と配列の形を比較してから、受け取り側に合うモデルを選んでください。