#Jsonファイルへの出力処理
前回はJsonファイルからの入力処理を紹介しましたが、今回はJsonファイルへの出力処理を紹介します。
#入力データ
前回の入力処理で出力したCSVファイルからデータを読み込みます。
#Json出力ファイルのメタデータ定義作成
リポジトリ→メタデータ→File Jsonの上で右クリックしJSONの作成をクリックします。
Step3ではCreate from a fileを選択し、JSON File右端の参照ボタンをクリックして出力する内容で定義されているJsonファイルを選択します。
Jsonファイルが正常に読み込まれるとFile ViewerとFile Contentが表示されますので、Nextボタンをクリックします。
読み込んだJsonファイルに誤りがある場合はエラーになりますので、Jsonファイルを再確認してください。
Step4では出力する項目を定義します。
Step4に移行した時点ではJsonファイルから読み込まれた項目が表示されていますが、Require set as loopというエラーメッセージが表示されています。
このJsonファイルではUserListがLoopの起点になりますので、Linker TagetのUserList上で右クリックしてSet As Loop Elementをクリックします。
Set As Loop Elementを設定しないと次のステップへは進むことができません。
UserListのNode Statusにloop elementが表示されますので、Nextボタンをクリックします。
Step5では各項目の最終確認を行いFinishボタンをクリックします。
#tFileOutputJSONコンポーネントの設定
ジョブにtFileOutputJSONを配置すると、コンポーネントの初期設定は下図のようになっています。
スキーマを組み込みからリポジトリに変更して、リポジトリ欄の右にある参照ボタンをクリックします。
リポジトリの内容が表示されますので、選択可能なメタデータの一覧から作成したスキーマ定義を選択してOKボタンをクリックします。
tFileInputDelimitedとtFileOutputJSONをrowで接続すると、ターゲットコンポーネントのスキーマを取得しますか?のメッセージが表示されますのでYesボタンをクリックします。
tFileInputDelimitedにtFileOutputJSONで設定したスキーマが反映されます。
これでジョブの設定は完了です。
#実行後の出力結果
出力された項目はスキーマで定義した順番とは異なっていました。
下図は成型して見やすくしておりますが、実際に出力されるJsonファイルには空白と改行は含まれておりませんでした。
#まとめ
Jsonファイル内容の見た目は異なっていますが、前回で入力したJsonファイルと同じ内容で出力することができました。
今後はメタデータのオプションや、tExtractJSONFieldsコンポーネント、tWriteJSONFieldコンポーネントにも触れていきたいと考えております。