6 Pré-processamento de CSV para JSON
Visão geral
Nesta etapa de pré-processamento é possível converter arquivo de dado CSV para formato JSON. É suportado em:
- itens (protótipos de item)
- regras de descoberta de baixo-nível
Configuração
Para configurar uma etapa de pré-processamento de CSV para JSON:
- Vá para a aba Pré-processamento na configuração de item/regra de descoberta
- Clique em Adicionar
- Selecione a opção CSV para JSON

O primeiro parâmetro permite definir um delimitador personalizado. Observe que, se a primeira linha da entrada CSV começar com "Sep=" e for seguida por um único caractere UTF-8, então esse caractere será usado como delimitador caso o primeiro parâmetro não esteja definido. Se o primeiro parâmetro não estiver definido e um delimitador não for obtido da linha "Sep=", então uma vírgula será usada como separador.
O segundo parâmetro opcional permite definir um símbolo de aspas.
Se a caixa de seleção Com linha de cabeçalho estiver marcada, os valores da linha de cabeçalho serão interpretados como nomes de colunas (consulte Processamento de cabeçalho para mais informações).
Se a caixa de seleção Personalizado em caso de falha estiver marcada, o item não se tornará não suportado em caso de falha na etapa de pré-processamento. Além disso, opções personalizadas de tratamento de erro podem ser definidas: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada.
Processamento de cabeçalho
A linha de cabeçalho do arquivo CSV pode ser processada em duas formas diferentes:
- Se a caixa Com linha de cabeçalho estiver marcada - os valores da linha são interpretados como nomes de coluna. Neste caso os nomes de coluna devem ser únicos e a linha de dado não deve conter mais colunas do que a linha de cabeçalho;
- Se a caixa Com linha de cabeçalho não estiver marcada - a linha de cabeçalho é interpretada como dado. Os nomes de coluna são gerados automaticamente (1,2,3,4...)
Exemplo de arquivo 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
Um caracter de quotação dentro de um campo quotado na entrada deve ser escapado precedendo-o com outro caracter de quotação.
Processando linha de cabeçalho
Saída JSON quando uma linha de cabeçalho é esperada:
[
{
"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"
}
]
Sem processamento de linha de cabeçalho
Saída JSON quando uma linha de cabeçalho não é esperada:
[
{
"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"
}
]