6 CSVからJSONへの保存前処理

概要

この保存前処理で、CSVファイルデータをJSON形式に変換することが可能です。サポートしているのは、

  • アイテム(アイテムのプロトタイプ)
  • ローレベルディスカバリルール

設定

CSVからJSONへの前処理ステップを設定するには、次のようにします。

最初のパラメータでは、カスタム区切り文字を設定できます。CSV入力の最初の行が "Sep=" で始まり、その後に1文字のUTF-8文字が続く場合、最初のパラメータが設定されていなければ、その文字が区切り文字として使用されます。最初のパラメータが設定されておらず、かつ "Sep=" 行から区切り文字を取得できない場合は、区切り文字としてカンマが使用されます。

2番目のオプションパラメータでは、引用符記号を設定できます。

With header row チェックボックスをオンにすると、ヘッダー行の値は列名として解釈されます(詳細はヘッダー処理を参照してください)。

Custom on fail チェックボックスをオンにすると、前処理ステップが失敗した場合でも、アイテムは未サポートになりません。さらに、カスタムエラー処理オプションを設定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定することが可能です。

ヘッダー処理

CSVファイルのヘッダー行は、2種類の方法で処理することができます。

  • ヘッダ行を含むチェックボックスがチェックされている場合 - ヘッダー行の値はカラム名として解釈されます。この場合、カラム名は一意でなければならず、データ行はヘッダー行より多くのカラムを含んではなりません。
  • ヘッダ行を含むチェックボックスがチェックされていない場合 - ヘッダー行はデータとして解釈されます。カラム名は自動的に生成されます(1,2,3,4...)。

CSVファイルの例:

Nr,Item name,Key,Qty
1,active agent item,agent.hostname,33
"2","passive agent item","agent.version","44"
3,"active,passive agent items",agent.ping,55

入力の引用フィールド内の引用文字は、その前に別の引用文字を置くことでエスケープしなければいけません。

ヘッダー行の処理

ヘッダー行が検出される場合のJSON出力:

[
   {
      "Nr":"1",
      "Item name":"active agent item",
      "Key":"agent.hostname",
      "Qty":"33"
   },
   {
      "Nr":"2",
      "Item name":"passive agent item",
      "Key":"agent.version",
      "Qty":"44"
   },
   {
      "Nr":"3",
      "Item name":"active,passive agent items",
      "Key":"agent.ping",
      "Qty":"55"
   }
]

ヘッダー行の処理なし

ヘッダー行が検出できない場合のJSON出力:

[
   {
      "1":"Nr",
      "2":"Item name",
      "3":"Key"
      "4":"Qty"
   },
   {
      "1":"1",
      "2":"active agent item",
      "3":"agent.hostname"
      "4":"33"
   },
   {
      "1":"2",
      "2":"passive agent item",
      "3":"agent.version"
      "4":"44"
   },
   {
      "1":"3",
      "2":"active,passive agent items",
      "3":"agent.ping"
      "4":"55"
   }
]