JSON Transformer

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

O componente JSON Transformer possibilita a aplicação de transformações no JSON que está sendo processado dentro do seu pipeline. Você pode realizar uma série de ações utilizando um formulário de configurações.

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

Actions

Adiciona ou remove diferentes ações.

N/A

Opções de ações

Description

Este campo é usado para documentar a ação.

N/A

String

Type

Define a ação que será executada, como: Rename Property, Edit Property, Remove Property e Remove Property with Condition. Veja abaixo mais detalhes sobre cada ação.

Rename Property

String

Action Settings

Configurações adicionais relacionadas à ação selecionada.

N/A

Oções de configuração de ações

Root Path

Deve ser preenchido quando a propriedade JSON estiver na raiz do objeto. Quando esta opção é ativada, Path (Dot notation) não estará disponível.

False

Booleano

Path (Dot notation)

Deve ser preenchido quando a propriedade JSON não estiver na raiz do objeto. Esse campo permite indicar dot notation, o que torna mais simples o acesso a diferentes níveis do JSON, incluindo atravessar array e object do JSON.

N/A

String

Properties to be renamed (DB)

Este parâmetro é mostrado apenas quando a ação Rename Property estiver selecionada. Deve ser preenchida com a chave e valor que você deseja renomear.

N/A

Pares de chave-valor

Values to be edited (DB)

Este parâmetro é mostrado apenas quando a ação Edit Property estiver selecionada. Deve ser preenchida com a chave e valor que você deseja editar.

N/A

Pares de chave-valor

Properties to be removed (DB)

Este parâmetro é mostrado apenas quando as ações Remove Property ou Remove Property with Condition estiverem selecionadas. Deve ser preenchida com o key name exato do JSON (no caso de Remove Property) ou chave e valor (no caso de Remove Property with Condition) que você deseja remover.

N/A

String / Pares de chave-valor

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

Ao utilizar Double Braces, os valores das propriedades que serão transformadas deverão ser acessados utilizando a palavra "item". Com a palavra "item" é possível obter valores de todas as propriedades contidas no mesmo nível do JSON que está sendo acessado.

Exemplos:

{{ item.keyName }}
{{ CONCAT(item.customer.id, item.customer.name) }}
{{ FORMATDATE( item.orders.dateAdded, "dd-MM-yyyy", "dd MMM yyyy") }}

Informações adicionais sobre parâmetros

Type

  • Rename Property: Renomeia a chave JSON para uma nova chave que pode ser composta por um valor estático ou dinâmico composto por Double Braces.

  • Edit Property: Permite a transformação de valores em uma propriedade por meio de Double Braces.

  • Remove Property: Remove propriedades em qualquer estrutura do JSON.

  • Remove Property with Condition: Usando os operadores lógicos das funções, você pode definir uma condição para que "true" seja retornado, indicando quando a propriedade deve ser removida.

Fluxo de mensagens

Entrada

Esse componente não espera nenhuma mensagem de entrada específica, somente se for informada uma expressão em Double Braces em algum dos seus campos.

Saída

Por se tratar de um componente que transforma o JSON de entrada, a saída é resultado das configurações definidas por você.

Se nenhuma propriedade definida nas configurações do componente for encontrada no JSON, o resultado será exatamente o mesmo JSON da entrada.

Para entender melhor o fluxo das mensagens na Digibee Integration Platform, consulte o artigo Processamento de mensagens.

JSON Transformer em ação

Veja abaixo como o componente se comporta em determinadas situações e as suas respectivas configurações.

Renomeando propriedades

As propriedades podem ser renomeadas utilizando valores estáticos ou dinâmicos composto por Double Braces. Essas propriedades podem estar em um object, array ou na raiz.

Neste exemplo, veja como renomear "a" para "id" e "b" para "name". As configurações do componente deverão ser:

Entrada

{
  "products": [
          {
           "a": 1,
           "b": "Table"
          },
          {
           "a": 2,
           "b": "Chair"
          }
  ]
}

Configurações

Saída

{
  "products": [
          {
           "id": 1,
           "name": "Table"
          },
          {
           "id": 2,
           "name": "Chair"
          }
  ]
}

Editando propriedades

Os valores podem ser transformados aplicando o Double Braces e funções contidas na Digibee Integration Platform. Essa propriedade pode estar em um object, array ou na raiz.

É possível aplicar as funções como FORMATDATE, CONCAT, REPLACE, FORMATNUMBER, dentre outras.

Para entender melhor como funcionam esses recursos, leia o artigo Funções Double Braces.

Neste exemplo, veja como transformar o "id" de number para string. As configurações do componente deverão ser:

Entrada

{
  "products": [
          {
           "id": 1,
           "name": "Table"
          },
          {
           "id": 2,
           "name": "Chair"
          }
  ]
}

Configurações

Saída

{
  "products": [
          {
           "id": "1",
           "name": "Table"
          },
          {
           "id": "2",
           "name": "Chair"
          }
  ]
}

Removendo propriedades com condições de decisão

As propriedades podem ser removidas utilizando os operadores lógicos das funções Double Braces. É possível definir uma condição que, quando for resolvida para true, indicará que a propriedade deverá ser removida. Essas propriedades podem estar em um objeto, array ou na raiz.

Neste exemplo, veja como remover "description" com valor null. As configurações do componente deverão ser:

Entrada

{
  "products": [
          {
           "id": 1,
           "name": "Table",
           "description": "Tea Table",   
},
          {
           "id": 2,
           "name": "Chair",
           "description": null
          }
  ]
}

Configurações

Saída

{
  "products": [
          {
           "id": 1,
           "name": "Table",
           "description": "Tea Table",     
},
          {
           "id": 2,
           "name": "Chair"
          }
  ]
}

Removendo propriedades apenas pelo nome

As propriedades podem ser removidas apenas declarando seus nomes no campo Properties to be removed. Essas propriedades podem estar em um object, array ou na raiz.

Alguns dos parâmetros acima aceitam Double Braces. Para entender melhor como funciona essa linguagem, leia o artigo Como referenciar dados usando Double Braces.

Atualizado