Conectores
Transformação de Dados

JQ

8min

Objetivo/Resumo

O conector jq é uma ferramenta poderosa utilizada para filtrar, transformar, e manipular dados JSON de forma eficiente e flexível. Ele permite que desenvolvedores e analistas de dados realizem operações complexas em estruturas JSON, extraiam informações relevantes e formatem os dados de maneira customizada para atender a diversas necessidades de processamento e análise.

Saiba mais:

Manual

Tutorial

Wiki

Valide seus filtros neste Playground.

Criando um fluxo utilizando Conector JQ

Este conector não precisa de conexão para ser usado. Basta configurar suas parametrizações de acordo com a lógica a ser implementada no fluxo. Para usá-lo, crie um fluxo e arraste o conector JQ para o canvas.

OBS: Acesse aqui o passo a passo para criar um fluxo.

Após arrastar o conector para o canvas, selecione-o e na aba Parametrizações, preencha os seguintes parâmetros de configuração:

  • Query/Filter: informe a query/filter jq que será aplicada no JSON de entrada. (campo obrigatório)
  • JSON Input: informe o JSON de entrada em que sera aplicada a query/filter. (campo obrigatório)

Na aba Propriedades dê um nome ao passo e se necessário detalhe uma descrição.

Para melhor uso do conector sugerimos acessar a documentação oficial do JQ, lá você terá mais informações detalhadas como filtros basicos, expressões regulares entre outras, acesse aqui. Também deixaremos o playground oficial do jq para testar suas querys.

Na prática

Neste tópico iremos criar um fluxo que irá demonstrar a execução de uma query JQ em um JSON utilizando o conector JQ.

Document image


Assim ficará a Parametrização do nosso primeiro e único passo:



Document image


A Query/Filter configuramos como {firstName: .name} ela irá montar um JSON onde o valor firstName será recuperado do JSON de entrada no qual será aplicado a query.

O JSON Input iremos buscar do payload de entrada do fluxo utilizando Fluid Expression Language com a função getJsonEscaped.

Na aba Propriedades informamos o nome do passo:

Document image


Conclusão

Com o passo configurado basta disparar o fluxo informando o seguinte payload de entrada:

{ "name": "John" }

Após o disparo, o resultado do fluxo aparecerá em realtime no canvas:



Document image


Ao clicar em detalhes, temos a resposta gerada pelo conector JQ:

Document image


Filtros úteis

Liste chaves usadas em qualquer objeto em uma lista

Considere o seguinte array:

JSON


Para obter uma lista das chaves no nível principal do array (gera o resultado: ["a"]):

Shell


Para obter a lista das chaves independente da profundidade onde elas aparecem:

Shell


Resultado:

JSON




Updated 25 Aug 2024
Doc contributor
Doc contributor
Did this page help you?