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ファイルへの出力について紹介します。




