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

概要

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

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

設定

CSVからJSONへの保存前処理のステップを設定する場合:

1番目のパラメーターカスタムデリミタを設定することができます。CSV入力の最初の行が"Sep="で始まり、UTF-8文字が1つ続く場合、最初のパラメーターが設定されていない場合、その文字がデリミタとして使用されることに注意ください。1番目のパラメーターが設定されておらず、かつ"Sep="行からデリミタが取得できない場合は、カンマがセパレーターとして使用されます。

オプションの2番目のパラメーターには引用記号を設定することができます。

ヘッダ行を含むのチェックボックスがチェックされている場合、ヘッダー行の値は列名として解釈されます(詳しくはヘッダー処理を参照してください)。

失敗時のカスタマイズのチェックボックスがチェックされている場合、保存前処理のステップが失敗してもそのアイテムがサポートされなくなることはありません。 さらに、カスタムエラー処理オプションを設定することができます: 値を破棄、値を設定、エラーを設定。

ヘッダー処理

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"
          }
       ]