tExtractJSONFieldsコンポーネントをループ向けに設定する - 7.3

ルーピングによるJSONファイルからのデータの抽出

EnrichVersion
Cloud
7.3
EnrichPlatform
Talend Studio
task

手順

  1. 最初のtExtractJSONFiledsコンポーネントのスキーマエディターで出力テーブルに次のカラムを追加します。
    • Guid、文字列型
    • TransactionId、整数型
    • Products、オブジェクト型
  2. スキーマエディターを閉じ、続いて表示されるダイアログボックスで[Yes] (はい)をクリックし、スキーマを後続のコンポーネントにプロパゲートします。
    追加したばかりのカラムが、[Basic settings] (基本設定)ビューのマッピングテーブルに表示されます。
  3. [Basic settings] (基本設定)ビュー内のその他のオプションを次のように設定します。
    • JSONフィールド: Transactions
    • ループJsonpathクエリー: "*" (二重引用符で囲む)
    • Guid: empty, for receiving the Guid value from the previous component;
    • TransactionId: "TransactionId" (二重引用符で囲む)
    • Products: "Products" (二重引用符で囲む)
    • Others: unchanged
    設定はトランザクションエレメント内のすべてのエレメントをループし、エレメントTransactionIdとProductsの値を抽出します。
  4. 2番目のtExtractJSONFiledsコンポーネントのスキーマエディターで出力テーブルに次のカラムを追加します。
    • Guid、文字列型
    • TransactionId、整数型
    • ProductId、文字列型
    • Packs、オブジェクト型
  5. スキーマエディターを閉じ、続いて表示されるダイアログボックスで[Yes] (はい)をクリックし、スキーマを後続のコンポーネントにプロパゲートします。
    追加したばかりのカラムが、[Basic settings] (基本設定)ビューのマッピングテーブルに表示されます。
  6. [Basic settings] (基本設定)ビュー内のその他のオプションを次のように設定します。
    • JSONフィールド: Products
    • ループJsonpathクエリー: "*" (二重引用符で囲む)
    • Guid: empty, for receiving the Guid value from the previous component;
    • TransactionId: empty, for receiving the TransactionId from the previous component;
    • ProductId: "ProductId" (二重引用符で囲む)
    • Packs: "Packs" (二重引用符で囲む)
    • Others: unchanged
    上図の設定はProductsエレメント内のすべてのエレメントをループし、エレメントProductIdとPacksの値を抽出します。
  7. 3番目のtExtractJSONFiledsコンポーネントのスキーマエディターで出力テーブルに次のカラムを追加します。
    • Guid、文字列型
    • TransactionId、整数型
    • ProductId、文字列型
    • Quantity、整数型
    • Price、浮動小数点型
    • Due_Date、日付型
  8. スキーマエディターを閉じ、続いて表示されるダイアログボックスで[Yes] (はい)をクリックし、スキーマを後続のコンポーネントにプロパゲートします。
    追加したばかりのカラムが、[Basic settings] (基本設定)ビューのマッピングテーブルに表示されます。
  9. [Basic settings] (基本設定)ビュー内のその他のオプションを次のように設定します。
    • JSONフィールド: Packs
    • ループJsonpathクエリー: "*" (二重引用符で囲む)
    • Guid: empty, for receiving the Guid value from the previous component;
    • TransactionId: 空(前のコンポーネントからTransactionId値を受け取るため)
    • ProductId: 空(前のコンポーネントからProductId値を受け取るため)
    • Quantity: "Quantity" (二重引用符で囲む)
    • Price: "Price" (二重引用符で囲む)
    • Due_Date: "Due_Date" (二重引用符で囲む)
    • Others: unchanged
    上図の設定はPacksエレメント内のすべてのエレメントをループし、エレメントQuantity、Price、Due_Dateの値を抽出します。