Wstępne przetwarzanie CSV do JSON

Przegląd

W tym kroku przetwarzania wstępnego można przekonwertować dane z pliku CSV do formatu JSON. Jest on obsługiwany w:

  • pozycjach (prototypach pozycji)
  • regułach wykrywania niskopoziomowego

Konfiguracja

Aby skonfigurować krok przetwarzania wstępnego CSV do JSON:

  1. Przejdź do karty Przetwarzanie wstępne w konfiguracji pozycji/reguły wykrywania.
  2. Kliknij Dodaj.
  3. Wybierz opcję CSV do JSON.

Pierwszy parametr umożliwia ustawienie niestandardowego separatora. Należy pamiętać, że jeśli pierwszy wiersz danych wejściowych CSV zaczyna się od „Sep=” i następuje po nim pojedynczy znak UTF-8, znak ten zostanie użyty jako separator, jeśli pierwszy parametr nie został ustawiony. Jeśli pierwszy parametr nie został ustawiony, a separator nie został odczytany z wiersza „Sep=”, jako separator zostanie użyty przecinek.

Drugi opcjonalny parametr umożliwia ustawienie symbolu cudzysłowu.

Jeśli pole wyboru Z wierszem nagłówka jest zaznaczone, wartości wiersza nagłówka zostaną zinterpretowane jako nazwy kolumn (więcej informacji można znaleźć w sekcji Przetwarzanie nagłówka).

Jeśli pole wyboru Niestandardowe działanie w przypadku błędu jest zaznaczone, pozycja nie otrzyma statusu nieobsługiwanej 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"
   }
]