手順
- Studioで、ループノードを設定せずにJSONPathを使用してファイルからJSONデータを抽出するで使用されているジョブを開いてデザインワークスペースに表示します。
-
tFileInputJSONコンポーネントをダブルクリックして、[Basic settings] (基本設定)ビューを開きます。
- [Read By] (読み取り)ドロップダウンリストから[JsonPath]を選択します。
- [Loop Json query] (Jsonクエリーをループ)フィールドに、二重引用符で囲んだJSONPathクエリ式を入力して、ループの基になるノードを指定します。このサンプルでは、"$.store.goods.book[*]"です。
-
[Edit schema] (スキーマを編集)の横の[...]ボタンをクリックし、スキーマエディターを開きます。
以前に追加した5列を選択し、[x]ボタンをクリックしてすべて削除します。[+]ボタンをクリックすると、String型のbook_title、book_category、およびbook_authorの4つのカラムとDouble型のbook_priceが追加されます。[OK]をクリックして、スキーマエディターを閉じます。ポップアップダイアログボックスで、[Yes]をクリックしてスキーマを後続のコンポーネントに反映します。
- [Mapping] (マッピング)テーブルの[JSONPath query] (JSONPathクエリー)フィールドに、二重引用符で囲んだJSONPathクエリー式を入力して、目的のデータを保持するノードを指定します。この例では、[book] (ブック)ノードの4つの子ノードに関連したJSONPathクエリー式"title"、"category"、"author"、"price"をそれぞれ入力します。
- Ctrl+Sを押し、ジョブを保存します。
-
[F6]を押してジョブを実行します。
前述のように、ブック情報はソースJSONデータから抽出され、コンソールのフラットテーブルに表示されます。