JSON to CSV Transformer (Descontinuado)

Descubra mais sobre o componente JSON to CSV Transformer e saiba como usá-lo na Digibee Integration Platform.

O JSON to CSV Transformer foi descontinuado e não é mais atualizado. Consulte a documentação da versão mais recente da feature: JSON to CSV V2.

O JSON to CSV Transformer tem a função de receber um objeto em JSON e, a partir dele, gerar um array contendo os dados para o CSV já formatado.

Parâmetros

Dê uma olhada nas opções de configuração do componente. Parâmetros suportados por expressões Double Braces estão marcados com (DB).

Parâmetro
Descrição
Valor padrão
Tipo de dado

Headers

Configura os headers que o componente utilizará para o processamento do texto. Os itens são separados por vírgula e podem conter mais de uma entrada. É um parâmetro obrigatório e deve ser configurado de acordo com o que você deseja processar.

N/A

String (CSV)

Delimiter

Símbolo delimitador a ser utilizado no processamento do texto. Por padrão, essa opção vem configurada como uma vírgula (","). É um parâmetro obrigatório, podendo utilizar diversos símbolos como separador.

","

String

Print Headers

Se estiver ativada, a opção insere no resultado os headers previamente configurados como sendo o primeiro elemento do array resultante.

False

Booleano

Coalesce

Se estiver ativada, e um valor da mensagem de entrada for correspondente à algum objeto/array, a entrada será processada e a execução acontecerá normalmente; do contrário, ao receber um valor como objeto/array, um erro será apresentado como resultado e será atribuído “false” para a propriedade “success”.

False

Booleano

Fail On Error

Se a opção estiver ativada, a execução do pipeline com erro será interrompida; do contrário, a execução do pipeline continua, mas o resultado vai mostrar um valor falso para a propriedade "success".

False

Booleano

O componente espera uma mensagem com a propriedade "data" no JSON. O valor dessa propriedade pode ser um array ou um objeto. Veja a seguir um exemplo simples que demonstra a funcionalidade do JSON to CSV Transformer:

Fluxo de mensagens

Entrada

Você precisa configurar um JSON de entrada em um pipeline com o componente JSON to CSV Transformer. Após adicioná-lo ao pipeline, é preciso configurar os headers como product,price ou o exemplo não vai funcionar.

{
   "data": [
       {
           "product": "Samsung 4k Q60T 55",
           "price": 3278.99
       },
       {
           "product": "Samsung galaxy S20 128GB",
           "price": 3698.99
       }
   ]
}

Saída

Com as configurações feitas conforme as especificações acima, o resultado será:

{
   "data": [
       "Samsung 4k Q60T 55,3278.99",
       "Samsung galaxy S20 128GB,3698.99"
   ]
}

JSON to CSV Transformer em ação

Veja abaixo como o componente se comporta em determinada situação e a sua respectiva configuração.

Informando um valor sendo objeto com a configuração "Coalesce: false" e "Fail On Error: false"

Com as configurações indicadas, o JSON não será processado e o resultado será uma mensagem de erro e com a propriedade success: false

Entrada

{
   "data": [
       {
           "product": {
               "name": "Samsung 4k Q60T 55"
           },
           "price": 3278.99
       },
       {
           "product": {
               "name": "Samsung galaxy S20 128GB"
           },
           "price": 3698.99
       }
   ]
}

Saída

{   
    "success": false,   
    "message": "Property product is an object"
}

Informando um valor sendo objeto com a configuração "Coalesce: true" e "Fail On Error: false"

Com as configurações indicadas, o JSON será processado e o resultado será um csv com o objeto tratado corretamente.

Entrada

{
   "data": [
       {
           "product": {
               "name": "Samsung 4k Q60T 55"
           },
           "price": 3278.99
       },
       {
           "product": {
               "name": "Samsung galaxy S20 128GB"
           },
           "price": 3698.99
       }
   ]
}

Saída

{
   "data": [
       "product,price",
       "\"{\"\"name\"\":\"\"Samsung 4k Q60T 55\"\"}\",3278.99",
       "\"{\"\"name\"\":\"\"Samsung galaxy S20 128GB\"\"}\",3698.99"
  ]
}

Informando um valor sendo objeto com a configuração "Coalesce: false" e "Fail On Error: true"

Com as configurações indicadas, o JSON não será processado e a execução será interrompida imediatamente.

Entrada

{
   "data": [
       {
           "product": {
               "name": "Samsung 4k Q60T 55"
           },
           "price": 3278.99
       },
       {
           "product": {
               "name": "Samsung galaxy S20 128GB"
          },
           "price": 3698.99
       }
   ]
}

Saída

{
   "timestamp": 1603812645143,
   "error": "Property product is an object",
   "exception": "com.digibee.pipelineengine.exception.PipelineEngineRuntimeException",
   "code": 500
}

Atualizado