質問
RESTコネクターで取得したJsonデータを、CSVファイルにマッピングする処理を開発しています。
この際、Jsonデータのスキーマの項目が数百件に及ぶため、マッピングの編集・参照に時間がかかるのですが、効率化にあたって何かアドバイスなどありますでしょうか?
スキーマの項目数が大きくなる主な要因としては、List型データの配列オブジェクト「element」にて、共通のスキーマを持つオブジェクトが数百件繰り返されているというものがあります。
回答
List型データの配列オブジェクト「element」が全て同じスキーマの場合、「単純な繰り返し」ロジックと[Xpathによる値の取得]ロジックによる相対パス指定を利用する事で、共通スキーマの配列オブジェクトに対して動的にマッピングを行う事が可能です。
以下の手順にてマッピング処理をお試しください。
- Mapperに「単純な繰り返し」ロジックを配置し、List型データ内のいずれかの配列オブジェクト「element」と出力データのrowをつなぐ
「単純な繰り返し」ロジックで共通要素を繰り返すelementオブジェクトと出力データのrowと結ぶ事により、elementオブジェクトの件数分繰り返してマッピング処理が実行されます。
また、List型データ外のオブジェクトにつきましては、全て同じ値が入力されます。 - [Xpathによる値の取得]ロジックを配置し、List型データ内のいずれか一つの「element」オブジェクトとつなぐ
List型データ内のデータを指定する[Xpathによる値の取得]ロジックは、いずれか一つの「element」オブジェクトに対して指定してください。 - [Xpathによる値の取得]ロジックにて、カレントディレクトからの相対パスを指定
パスの頭にピリオド「.」を付けてカレントディレクトリからの相対パスを指定することで、「単純な繰り返し」ロジックによる繰り返し処理に対するパスを動的に指定する事が出来ます。
例:element内のオブジェクト「id」を指定したい場合、「./id」と指定。
コメント
0件のコメント
記事コメントは受け付けていません。