JQ
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.
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.
Neste tópico iremos criar um fluxo que irá demonstrar a execução de uma query JQ em um JSON utilizando o conector JQ.
Assim ficará a Parametrização do nosso primeiro e único passo:
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:
Conclusão
Com o passo configurado basta disparar o fluxo informando o seguinte payload de entrada:
Após o disparo, o resultado do fluxo aparecerá em realtime no canvas:
Ao clicar em detalhes, temos a resposta gerada pelo conector JQ:
Considere o seguinte array:
Para obter uma lista das chaves no nível principal do array (gera o resultado: ["a"]):
Para obter a lista das chaves independente da profundidade onde elas aparecem:
Resultado: