#Jsonファイルからの入力処理
色々な言語でサポートされているJSONファイルですが、Talendでも標準コンポーネントでサポートされています。
さらにメタデータ定義を使用することにより、より簡易にJsonファイルを扱うことができます。
#入力するJsonファイル
今回入力するJsonファイルでは文字列、数値、真偽値を設定しています。
#Json入力ファイルのメタデータ定義作成
まず、リポジトリ→メタデータ→File Jsonの上で右クリックしJSONの作成をクリックします。
参照ボタンをクリックして入力するJsonファイルを指定します。
読み込んだJsonファイルに誤りがある場合はエラーになりますので、Jsonファイルを再確認してください。
Jsonファイルが正常に読み込まれるとSchema Viewerに定義内容が表示されますので、Nextボタンをクリックします。
Path loop expressionには絶対JsonPathまたはXPath式を入力します。
Source SchemaのUserListをドラッグしてPath loop expressionにドロップし、UserListを絶対JsonPathとして定義します。
続いて取得する項目を定義します。
Source Schemaのname、age、prefectures、activeを4つを選択してドラッグし、Fields to extractへドロップします。
定義完了後にRefresh Previewを押下することにより、Jsonファイルからの入力プレビューを確認できます。
プレビューが確認できましたらNextをクリックします。
Step5では各項目の定義内容を設定します。
ここで注意すべきことがあり、項目のタイプがStringの場合には読み取ったJsonファイル内での最大値が適用されていますので、読み取ったファイルの内容より長いデータが見込まれる場合は長さを訂正します。
今回のStringは長さを256に変更しました。
Step5の定義が完了しましたらFinishボタンをクリックしてメタデータ定義を完了します。
#tFileInputJSONコンポーネントの設定
ジョブにtFileInputJSONを配置すると、コンポーネントの初期設定は下図のようになっています。
プロパティタイプを組み込みからリポジトリに変更して、右端の参照ボタンをクリックします。
リポジトリの内容が表示されますので、選択可能なメタデータの一覧から作成した定義を選択してOKボタンをクリックします。
メタデータで定義されている内容がコンポーネントに反映されます。
これでtFileInputJSONの設定は完了です。
今回はJsonから読み込んだ内容をそのままCSVに出力してみます。
#まとめ
今回はメタデータを活用して簡易にJsonから入力できる方法を紹介しました。
次回は同様の手法でJsonファイルへの出力について紹介します。