第372章 XML JSON DataFormat (非推奨)
Camel バージョン 2.10 以降で利用可能
Camel は、XML および JSON 関連の変換を実行するための多くのデータ形式をすでにサポートしていますが、それらはすべて入力 (マーシャリング用) として POJO を必要とするか、出力 (アンマーシャリング用) として POJO を生成します。このデータ形式は、中間の POJO を経由せずに、XML から JSON に、またはその逆に直接変換する機能を提供します。
このデータ形式は、Json-lib ライブラリーを利用して直接変換を実現します。このコンテキストでは、XML は高レベルの形式と見なされ、JSON は低レベルの形式と見なされます。したがって、整列化/非整列化セマンティクスは次のように割り当てられます。
- マーシャリング ⇒ XML から JSON への変換
- アンマーシャリング ⇒ JSON から XML への変換
372.1. オプション
XML JSon データ形式は、以下に示す 3 個のオプションをサポートしています。
名前 | デフォルト | Java タイプ | 説明 |
---|---|---|---|
encoding |
| エンコーディングを設定します。アンマーシャリングに使用されます(JSON から XML への変換)。 | |
elementName |
| 各配列要素を表す XML 要素の名前を指定します。アンマーシャリングに使用されます(JSON から XML への変換)。 | |
arrayName |
| 最上位の XML 要素の名前を指定します。アンマーシャリングに使用されます(JSON から XML への変換)。たとえば、1、2、3 を変換すると、デフォルトでは 123 として出力されます。このオプションまたは rootName を設定すると、要素 a の名前を変更できます。 | |
forceTopLevelObject |
|
| 結果の JSON が、XML ルート要素と名前が一致する最上位の要素から始まるかどうかを決定します。マーシャリングに使用されます (XML から JSon 変換)。無効にすると、XML 文字列 12 は 'x: '1'、'y': '2' に変わります。それ以外の場合は、'a': 'x: '1'、'y': '2' になります。 |
namespaceLenient |
|
| 不完全な名前空間接頭辞を許容するフラグ。アンマーシャリングに使用されます(JSON から XML への変換)。ほとんどの場合、json-lib は実行時にこのフラグを処理に合わせて自動的に変更します。 |
rootName |
| 最上位要素の名前を指定します。アンマーシャリングに使用されます(JSON から XML への変換)。設定されていない場合、json-lib は arrayName または objectName を使用します (デフォルト値: 'o'、現時点ではこのデータ形式では設定できません)。'root' に設定すると、JSON 文字列 'x': 'value1'、'y' : 'value2' は value1value2 に変わります。それ以外の場合、'root' 要素は 'o' という名前になります。 | |
skipWhitespace |
|
| XML 要素間の空白をテキスト値と見なすか無視するかを決定します。マーシャリングに使用されます (XML から JSon 変換)。 |
trimSpaces |
|
| 文字列値から先頭と末尾の空白を省略するかどうかを決定します。マーシャリングに使用されます (XML から JSon 変換)。 |
skipNamespaces |
|
| 名前空間を無視するかどうかを通知します。デフォルトでは、xmlns 要素を使用して JSON 出力に追加されます。マーシャリングに使用されます (XML から JSon 変換)。 |
removeNamespacePrefixes |
|
| 結果の JSON 文字列に名前空間接頭辞が含まれないように、XML 修飾要素から名前空間接頭辞を削除します。マーシャリングに使用されます (XML から JSon 変換)。 |
expandableProperties |
| 拡張可能なプロパティを使用すると、JSON 配列要素は、ローカル名が JSON キーと等しい反復的な XML 要素のシーケンスとして、XML に変換されます: 123 (e は elementName の設定により変更可能) に変換されますが、number が拡張可能なプロパティーとして設定されている場合、代わりに 123 に変換されます。アンマーシャリング (JSON からXMLへの変換) のために使用されます。 | |
typeHints |
| 結果の XML に型ヒントを追加して、JSON への変換を支援します。アンマーシャリングに使用されます(JSON から XML への変換)。 | |
contentTypeHeader |
|
| データフォーマットがデータ形式を実行できる場合は、データフォーマットの型で Content-Type ヘッダーを設定するかどうか。たとえば、XML にマーシャリングするデータ形式の場合は application/xml、JSON にマーシャリングするデータ形式の場合は JSon です。 |