01 / 例
例
<hito><namae>Ada</namae><messeji>こんにちは</messeji></hito>{
"hito": {
"namae": "Ada",
"messeji": "こんにちは"
}
}コード整形 / MULTIVERTO
単純な XML 文書を JSON オブジェクトにマッピングします。
01 / 例
<hito><namae>Ada</namae><messeji>こんにちは</messeji></hito>{
"hito": {
"namae": "Ada",
"messeji": "こんにちは"
}
}02 / ガイド
単純な XML 文書を JSON オブジェクトへ写します。対応範囲の構文だけを解析し、XML のルート要素を JSON の外側のプロパティにします。属性は @attributes の下に入り、同名の子要素の繰り返しは配列になり、要素内のテキストは文字列になります。テキストと子要素が混在する内容や高度な XML の構造は、この明示的な対応の範囲外です。元に戻す必要がある文書では、スキーマを理解する別のツールが必要になる場合があります。
逆方向の変換では、同じ名前の子要素が繰り返されると配列になり、要素内の単純なテキストは JSON の文字列になります。数値も XML のテキストを経由すると数値型を保持しません。テキストと子要素が混在する内容、宣言、コメント、CDATA、文書型は、この単純な対応付けの対象外です。XML の意味を正確に保つ必要がある場合は、スキーマを理解する変換ツールを使ってください。
データ形式の変更は、単に句読点を書き換えることではなく、二つの情報モデル間の対応付けです。まず、必要に応じて非 ASCII 文字、欠けたフィールド、入れ子の値を含む小さな代表レコードを用意してください。変換後、キー、順序、数値、null、配列、繰り返し項目がどう表現されるか確認します。変換先の形式に元の機能と同等の表現がない場合もあるため、個別の説明で対応する変換規則を確認してください。この例では「<hito><namae>Ada</namae><messeji>こんにちは</messeji></hito>」から、簡潔に表示した結果「{ ⏎ "hito": { ⏎ "namae": "Ada", ⏎ "messeji": "こんにちは" ⏎ } ⏎ }」が得られます(⏎は改行を表します)。見える語だけでなく区切り記号も読んでください。この小さな例は、この操作の実際の結果です。元データの気になる要素を一つ変え、結果の対応箇所を比較しましょう。住所要素が一つだけの XML レコードと、二つあるレコードを用意し、結果の JSON プロパティの形を比べてください。後者は配列になり、前者は単一値のままになる場合があります。常に配列を期待するクライアントでは、変換後にスキーマを明示して正規化する処理が必要です。
受け取り側がオブジェクトを必要とするとき、単純な XML の応答を JSON に変換します。同じ名前の兄弟要素が繰り返されると配列になり、属性は @attributes へ移るため、子要素が一つの場合と複数の場合では JSON の形が変わり得ます。テキストと文字参照は別々に試してください。子要素を挟む混在テキストは順序を黙って失わないよう拒否します。大きな文書を処理する前に、小さな既知の例で確認し、元の XML を結果の横に保管します。ファイルの大きさや行数だけでなく、名前、引用符付きの文字列、ASCII 以外の文字、改行、繰り返すフィールドなど意味のある内容を比較してください。
ガイドを探す