JSLT
Saiba mais sobre o conector JSLT e como usá-lo na Digibee Integration Platform.
O conector JSLT permite a manipulação de um JSON utilizando JSLT, uma linguagem para processamento e consulta de dados em JSON. Para mais informações, consulte a documentação oficial no GitHub.
Esse conector é útil para realizar diversas ações, como:
Modificar a estrutura de um JSON mantendo seus valores.
Adicionar, extrair e remover dados de um JSON.
Ordenar a estrutura de um JSON.
Modificar os valores contidos em um JSON por meio de funções, como manipulação de texto, cálculos matemáticos, conversões entre tipos de dados, entre outras.
Acessar e manipular dados de arrays.
Parâmetros
Dê uma olhada nos parâmetros de configuração do conector. Parâmetros suportados por expressões Double Braces estão marcados com (DB).
Aba General
Payload (DB)
O conteúdo JSON a ser manipulado.
{{ message.payload }}
JSON
JSLT
A declaração JSLT a ser executada.
{ *: . }
JSON
Fail On Error
Se ativado, interrompe a execução do pipeline ao ocorrer um erro. Se desativado, a execução continua, mas a propriedade "success" será definida como false.
False
Booleano
Raw Mode
Se esta opção estiver ativa, a expressão JSLT pode incorporar dinamicamente valores usando Double Braces ({{ }}) em expressões inteiras, chaves de objetos ou valores. Isso permite transformações mais flexíveis e dinâmicas.
Importante: Ao usar Double Braces para uma chave JSON dentro de jsltExpr com o Raw Mode ativado, é necessário escapar a chave. Por exemplo, para usar dinamicamente myKey como chave, deve-se escrever "{ \"{{message.myKey}}\": .value }".
False
Booleano
O conector não suporta importação de declarações JSLT.
Aba Documentation
Documentation
Campo opcional para descrever a configuração do conector e quaisquer regras de negócio relevantes.
N/A
String
Exemplos de expressões JSLT
Transposição de dados simples
Payload
JSLT
Saída
Funções nativas JSLT
O exemplo abaixo representa algumas das funções nativas JSLT disponíveis. Para mais informações e a lista completa de funções, visite a documentação do Github.
Payload
JSLT
Saída
Variáveis e funções personalizadas
Payload
JSLT
Saída
Operadores If e For
Payload
JSLT
Saída
Expressões dinâmicas com o Raw Mode
Quando o Raw Mode está ativado, você pode construir partes da sua expressão JSLT dinamicamente usando Double Braces ({{ }}).
Expressão dinâmica completa
Este exemplo mostra como usar uma expressão JSLT completa passada dinamicamente através do payload.
Parâmetros
Payload:
{{ message.payload }}JSLT:
{{ message.expression }}Raw Mode:
true
Payload de entrada
Saída
Chave de objeto dinâmica
Este exemplo demonstra como definir dinamicamente uma chave de objeto dentro da expressão JSLT. Note as aspas duplas escapadas para a chave dinâmica.
Parâmetros
Payload:
{{ message.payload }}JSLT:
{ "code" : .id, {{ message.key }}: .object.nested, "element": .array[3], "range": . array[0 : 2], *: .}Raw Mode:
true
Payload de entrada
Saída
Valor de objeto dinâmico
Este exemplo mostra como definir dinamicamente um valor de objeto dentro da expressão JSLT.
Parâmetros
Payload:
{{ message.payload }}JSLT:
{ "code" : .id, "boolean": {{ message.value }}, "element": .array[3], "range": . array[0 : 2], *: .}Raw Mode:
true
Payload de entrada
Saída
Chave e valor de objeto dinâmicos
Este exemplo demonstra o uso de Double Braces para um par chave-valor dinâmico (*: .) dentro da expressão JSLT.
Parâmetros
Payload:
{{ message.payload }}JSLT:
{ "code" : .id, "boolean": {{ message.value }}, "element": .array[3], "range": . array[0 : 2], {{ message.keyAndValue }}}Raw Mode:
true
Payload de entrada
Saída
Atualizado
Isto foi útil?