6. Предобработка CSV в JSON
Обзор
В этом шаге предварительной обработки имеется возможность преобразования данных CSV файла в формат JSON. Поддерживается в:
- элементах данных (прототипах элементов данных)
- правилах низкоуровневого обнаружения
Настройка
Чтобы настроить шаг предобработки CSV в JSON:
- Перейдите на вкладку «Preprocessing» в настройках элемента данных/правила обнаружения
- Нажмите Add
- Выберите вариант CSV to JSON

Первый параметр позволяет задать пользовательский разделитель. Обратите внимание, что если первая строка входных данных CSV начинается с "Sep=" и за ней следует один символ UTF-8, то этот символ будет использоваться как разделитель, если первый параметр не задан. Если первый параметр не задан и разделитель не получен из строки "Sep=", то в качестве разделителя используется запятая.
Второй необязательный параметр позволяет задать символ кавычек.
Если установлен флажок With header row, значения строки заголовка будут интерпретироваться как имена столбцов (см. Обработка заголовка для получения дополнительной информации).
Если установлен флажок Custom on fail, элемент данных не станет неподдерживаемым в случае сбоя шага предобработки. Кроме того, можно задать пользовательские варианты обработки ошибок: отбросить значение, установить указанное значение или установить указанное сообщение об ошибке.
Обработка заголовка
Строка заголовка CSV файла может обрабатываться двумя разными способами:
- Если флажок Со строкой заголовка отмечен — значения строки заголовка интерпретируются как имена столбцов. В этом случае имена столбцов должны быть уникальны и строки с данными не должны содержать больше столбцов, чем строка заголовка;
- Если флажок Со строкой заголовка не отмечен — строка заголовка интерпретируется как данные. Имена столбцов генерируются автоматически (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"
}
]