6 Przetwarzanie wstępne CSV do JSON
Przegląd
W tym kroku przetwarzania wstępnego można przekonwertować dane pliku CSV do formatu JSON. Jest to obsługiwane w:
- pozycjach (prototypach pozycji)
- regułach wykrywania niskiego poziomu
Konfiguracja
Aby skonfigurować krok przetwarzania wstępnego CSV do JSON:
- Przejdź do zakładki Preprocessing w konfiguracji pozycja/reguły wykrywania
- Kliknij Add
- Wybierz opcję CSV to JSON

Pierwszy parametr umożliwia ustawienie niestandardowego separatora. Należy pamiętać, że jeśli pierwsza linia danych wejściowych CSV zaczyna się od "Sep=" i po niej występuje pojedynczy znak UTF-8, to ten znak zostanie użyty jako separator, jeśli pierwszy parametr nie zostanie ustawiony. Jeśli pierwszy parametr nie jest ustawiony i separator nie zostanie odczytany z linii "Sep=", jako separator zostanie użyty przecinek.
Drugi opcjonalny parametr umożliwia ustawienie znaku cudzysłowu.
Jeśli pole wyboru With header row jest zaznaczone, wartości wiersza nagłówka będą interpretowane jako nazwy kolumn (więcej informacji można znaleźć w sekcji Header processing).
Jeśli pole wyboru Custom on fail jest zaznaczone, pozycja nie stanie się niewspierana w przypadku nieudanego kroku przetwarzania wstępnego. Dodatkowo można ustawić niestandardowe opcje obsługi błędów: odrzucenie wartości, ustawienie określonej wartości lub ustawienie określonego komunikatu o błędzie.
Header processing
The CSV file header line can be processed in two different ways:
- If the With header row checkbox is marked - header line values are interpreted as column names. In this case the column names must be unique and the data row should not contain more columns than the header row;
- If the With header row checkbox is not marked - the header line is interpreted as data. Column names are generated automatically (1,2,3,4...)
CSV file example:
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
A quotation character within a quoted field in the input must be escaped by preceding it with another quotation character.
Processing header line
JSON output when a header line is expected:
[
{
"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"
}
]
No header line processing
JSON output when a header line is not expected:
[
{
"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"
}
]