位置指定ファイルツール - フラットファイルをJSONに変換アクション
フラットファイルをJSONに変換アクションを使用して、位置指定フラットファイルを解析し、構造化JSONに変換します。 このアクションは、固定幅または動的幅のファイル、単一スキーマ(均一な行)または複数スキーマ(異なる行構造)、および列定義の固定リストまたは動的リストをサポートします。
入力
使用可能な入力フィールドは、スキーマ設定によって異なります。
単一スキーマのファイルの入力
| 入力フィールド | 説明 |
|---|---|
| ファイルコンテンツ | 解析する位置指定ファイルの内容を指定します。 例:HDR001,JohnSmith,USA20240401。 |
| スキーマタイプ | ファイルに一致するスキーマタイプを選択します。 すべての行が同じ構造を共有する場合は、単一スキーマを選択します。 ファイルに異なる構造の行が含まれる場合は、複数スキーマを選択します。 |
| ファイル構造 | 列で特定の区切り文字を使用する場合は、固定幅を選択します。 列の間隔が一貫していない場合は、動的幅を選択します。 |
| 出力 | ファイルの想定される出力構造を定義します。 パーサーは出力をこの定義にマッピングします。 JSONを入力するか、フィールドを手動で追加できます。 |
| Delimiter | ファイル内のフィールドを区切る文字を選択します。 オプションにはcomma (,)、space、tab、colon (:)、semicolon (;)、およびpipe (|)が含まれます。 固定幅ファイル構造で使用できます。 |
| 列 | ファイルに表示される順序でフィールドを定義します。 各エントリは、フラットファイル内の1つの列を表します。 ...(省略記号)をクリックして、固定リストまたは動的リストを選択します。 項目の総数と内容がわかっている場合は、固定リストを使用します。 項目の数と内容が別のリストに依存する場合は、動的リストを使用します。 固定リストを選択した場合は、+ Add itemをクリックしてフィールドをさらに追加します。 |
| 列ソースリスト(列) | リストデータピルを入力します。 動的リストを使用する列構造のファイルで使用できます。 |
| フィールド名(列) | 解析されたJSON出力でこの列に使用する名前を指定します。 動的リストを使用する列構造のファイルで使用できます。 |
| フィールド名(列)(項目#{N}) | リスト内の各項目のフィールド名を指定します。 + Add itemをクリックして、列フィールドをさらに追加します。 |
| 開始位置(列)(項目#{N}) | このフィールドのフラット文字列内での開始インデックス位置を定義します。 最初の文字は0です。 動的幅ファイル構造、および固定リストを使用する列構造のファイルで使用できます。 |
| 長さ(列)(項目#{N}) | このフィールドがフラットファイル内で使用する文字数を指定します。 動的幅ファイル構造、および固定リストを使用する列構造のファイルで使用できます。 |
複数スキーマのファイルの入力
複数スキーマのファイルでは、出力構造を選択する必要があります。 使用可能な入力フィールドは選択内容によって異なります:
- 線形フィールド:すべてのスキーマが同じレベルにあるフラット出力を生成します
- 子フィールド:レコードタイプ間の親子関係を持つネストされた出力を作成します
共通設定フィールド
次の入力フィールドは、線形および子フィールド構造に共通です。
| 入力フィールド | 説明 |
|---|---|
| ファイルコンテンツ | 解析する位置指定ファイルの内容を指定します。 例:HDR001,JohnSmith,USA20240401。 |
| スキーマタイプ | ファイルに一致するスキーマタイプを選択します。 すべての行が同じ構造を共有する場合は、単一スキーマを選択します。 ファイルに異なる構造の行が含まれる場合は、複数スキーマを選択します。 |
| ファイル構造 | 列で特定の区切り文字を使用する場合は、固定幅を選択します。 列の間隔が一貫していない場合は、動的幅を選択します。 |
| 出力構造 | フラット出力の場合は線形フィールドを、レコードタイプ間の親子関係を持つネストされた出力の場合は子フィールドを選択します。 |
| 出力 | ファイルの想定される出力構造を定義します。 パーサーは出力をこの定義にマッピングします。 JSONを入力するか、フィールドを手動で追加できます。 |
線形フィールド設定
出力構造として線形フィールドを選択した場合は、これらのフィールドを使用します。
| 入力フィールド | 説明 |
|---|---|
| スキーマ識別子の位置 | 各行のスキーマ識別子の位置を定義します。 |
| 開始位置(スキーマ識別子の位置) | 行内でスキーマ識別子が始まるインデックスを指定します。 最初の文字は0です。 |
| 長さ(スキーマ識別子の位置) | スキーマ識別子が占める文字数を入力します。 |
| スキーマを結合しますか? | 出力内で異なるスキーマの行を一意キーで結合する場合は、はいを選択します。 はいの場合は、各スキーマの列仕様で一意キーを定義します。 |
| スキーマ | フラットファイルを解析するためのスキーマを定義します。 ...(省略記号)をクリックして、Fixed listまたはDynamic listを選択します。 スキーマ項目と内容がわかっている場合は、固定リストを使用します。 スキーマ項目と内容が別のリストに依存する場合は、動的リストを使用します。 |
| スキーマソースリスト(スキーマ) | リストデータピルを入力します。 動的リストで設定されたスキーマで使用できます。 |
| スキーマ名(スキーマ) | このスキーマの一意の名前を指定します。 |
| スキーマ識別子(スキーマ) | このスキーマに属する行を示す識別子値を指定します。 |
| 列仕様(スキーマ) | このスキーマの列を定義します。 ...(省略記号)をクリックして、Fixed listまたはDynamic listを選択します。 列の項目とコンテンツがわかっている場合は、Fixed listを使用します。 列の項目とコンテンツが別のリストに依存する場合は、Dynamic listを使用します。 |
| 列仕様ソースリスト(スキーマ)(列仕様) | リストデータピルを入力します。 動的リストで設定された列仕様で使用できます。 |
| フィールド名(スキーマ)(列仕様) | 出力JSONでこの列に割り当てる名前を指定します。 |
| 開始位置(スキーマ)(列仕様) | 行内でこのフィールドが始まるインデックスを指定します。 最初の文字は0です。 |
| 長さ(スキーマ)(列仕様) | このフィールドが占める文字数を入力します。 |
| 一意キーですか? (スキーマ)(列仕様) | このフィールドがスキーマ結合用の一意キーとして機能する場合は、はいを選択します。 |
子フィールド設定
出力構造として子フィールドを選択した場合は、これらのフィールドを使用します。
| 入力フィールド | 説明 |
|---|---|
| 行タイプ | フラットファイルを解析するための行タイプを定義します。 ...(省略記号)をクリックして、Fixed listまたはDynamic listを選択します。 行タイプ項目と内容がわかっている場合は、固定リストを使用します。 行タイプ項目と内容が別のリストに依存する場合は、動的リストを使用します。 |
| 行タイプソースリスト(行タイプ) | リストデータピルを入力します。 動的リストで設定された行タイプで使用できます。 |
| スキーマ識別子(行タイプ) | この行タイプスキーマの一意の識別子を指定します。 |
| 列(行タイプ) | この行タイプの列を定義します。 ...(省略記号)をクリックして、Fixed listまたはDynamic listを選択します。 列の項目とコンテンツがわかっている場合は、Fixed listを使用します。 列の項目とコンテンツが別のリストに依存する場合は、Dynamic listを使用します。 |
| 列ソースリスト(行タイプ)(列) | リストデータピルを入力します。 動的リストで設定された列で使用できます。 |
| フィールド名(行タイプ)(列) | 出力JSONでこの列に割り当てる名前を指定します。 |
| 開始位置(行タイプ)(列) | 行内でこのフィールドが始まるインデックスを指定します。 最初の文字は0です。 |
| 長さ(行タイプ)(列) | このフィールドが占める文字数を入力します。 |
| 子行タイプ(行タイプ) | 親行タイプの後に処理される子行タイプを定義します。 ...(省略記号)をクリックして、Fixed listまたはDynamic listを選択します。 子行タイプ項目と内容がわかっている場合は、固定リストを使用します。 子行タイプ項目と内容が別のリストに依存する場合は、動的リストを使用します。 |
| 子行タイプソースリスト(行タイプ)(子行タイプ) | リストデータピルを入力します。 動的リストで設定された子行タイプで使用できます。 |
| スキーマ名(行タイプ)(子行タイプ) | 子スキーマの名前を指定します。 定義済みのスキーマ名のいずれかと一致する必要があります。 |
出力
このアクションの出力は、出力入力フィールドで定義した構造に一致するJSONオブジェクトです。 形式は設定によって異なります:
- 単一スキーマ:行ごとに1つのオブジェクトを含むフラット配列
- 線形フィールド:各オブジェクトにスキーマ識別子を含むフラット配列
- 子フィールド:ネストされた親子関係を持つ階層構造
Last updated: