Pular para o conteúdo principal

Jolt

1. Visão Geral

O componente Jolt (jolt-connector) transforma um JSON em outro formato de JSON, usando uma especificação de transformação na linguagem Jolt (bastante usada para mapear estruturas de dados entre sistemas diferentes).

Use quando o fluxo precisa reestruturar um JSON — renomear campos, mudar hierarquia, combinar ou dividir listas — sem escrever código customizado. Para transformações simples (poucos campos), o Add Variable pode ser mais simples de manter.

2. Pré-requisitos

Não há credenciais externas — processamento local.

3. Autenticação e Conexão

Não aplicável.

4. Configuração / Operações Suportadas

O componente tem uma única operação: transformar um JSON usando uma spec Jolt.

CampoObrigatórioTipoDescriçãoExemplo
jsonSimTexto (JSON)O dado de entrada a ser transformado.{"nomeCompleto": "Maria Silva"}
joltExpressionSimTexto (JSON, spec Jolt)A especificação Jolt que define como transformar o json de entrada.Uma spec Jolt (formato shift, default, etc.)

5. Exemplos Práticos

Exemplo simples: renomear um campo de um JSON recebido.

Entrada (não usada diretamente — os dados vêm do campo json da configuração):

{
"clienteBruto": { "nomeCompleto": "Maria Silva", "emailContato": "maria@exemplo.com" }
}

Configuração do componente:

{
"componentName": "jolt-connector",
"configurations": {
"json": "{$.body.clienteBruto}",
"joltExpression": "[{\"operation\": \"shift\", \"spec\": {\"nomeCompleto\": \"nome\", \"emailContato\": \"email\"}}]"
}
}

Resposta:

{
"response": {
"nome": "Maria Silva",
"email": "maria@exemplo.com"
}
}

Exemplo avançado: reestruturar uma lista de pedidos, extraindo apenas os campos necessários de cada item.

Entrada:

{
"pedidos": [
{ "idPedido": 981, "cliente": { "nome": "Maria Silva" }, "valorTotal": 150.00 },
{ "idPedido": 982, "cliente": { "nome": "João Souza" }, "valorTotal": 89.90 }
]
}

Configuração do componente:

{
"componentName": "jolt-connector",
"configurations": {
"json": "{$.body.pedidos}",
"joltExpression": "[{\"operation\": \"shift\", \"spec\": {\"*\": {\"idPedido\": \"[&1].id\", \"cliente.nome\": \"[&1].clienteNome\", \"valorTotal\": \"[&1].valor\"}}}]"
}
}

Resposta:

{
"response": [
{ "id": 981, "clienteNome": "Maria Silva", "valor": 150.00 },
{ "id": 982, "clienteNome": "João Souza", "valor": 89.90 }
]
}

6. Erros Comuns e Troubleshooting

Erro / SintomaCausa provávelComo resolver
"Required field 'json' is missing or null."O campo json não foi preenchido.Preencher json com os dados a transformar.
"Required field 'joltExpression' is missing or null."O campo joltExpression não foi preenchido.Preencher joltExpression com a spec de transformação.
"Error during JOLT transformation: ..."A spec Jolt está malformada, ou não é compatível com a estrutura do JSON de entrada.Revisar a sintaxe da spec Jolt e testá-la com os dados reais de entrada.
Resultado não tem o formato esperadoA spec Jolt não cobre todos os casos do JSON de entrada (por exemplo, campos ausentes em alguns itens).Ajustar a spec Jolt para tratar variações nos dados de entrada.