このページで
6 CSVからJSONへの保存前処理
概要
この保存前処理で、CSVファイルデータをJSON形式に変換することが可能です。サポートしているのは、
- アイテム(アイテムのプロトタイプ)
- ローレベルディスカバリルール
設定
CSV to JSON の前処理ステップを設定するには、次の手順を実行します。
- アイテム/ディスカバリ ルール の設定で、Preprocessing タブに移動する
- Add をクリックする
- CSV to JSON オプションを選択する

最初のパラメータでは、カスタム区切り文字を設定できます。CSV 入力の最初の行が "Sep=" で始まり、その後に単一の UTF-8 文字が続く場合、最初のパラメータが設定されていなければ、その文字が区切り文字として使用されます。最初のパラメータが設定されておらず、かつ "Sep=" 行から区切り文字が取得できない場合は、カンマが区切り文字として使用されます。
2 つ目の任意パラメータでは、引用符を設定できます。
With header row チェックボックスをオンにすると、ヘッダー行の値は列名として解釈されます(詳細は Header processing を参照してください)。
Custom on fail チェックボックスをオンにすると、前処理ステップが失敗してもアイテムは unsupported になりません。さらに、カスタムエラー処理オプションを設定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定します。
ヘッダー処理
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"
}
]