Executando verificação de segurança...
1

Vamos lá...

No meu workflow, eu uso muito para formatar, procurar valores e validar dados em resultados das APIs que eu sou responsável.

Aqui são alguns exemplos do que eu uso.

Lembrando, que o jq interpreta o JSON que vem pelo stdin da console ou através de um arquivo que vc passa como parâmetro $2. A sitáxe básica do jq é:

jq [options] <filtros|patterns|comandos|funções|e tudo q há de bom> [arquivo...]
jq [options] <filtros|patterns|comandos|funções|e tudo q há de bom> [strings...]
jq [options] <filtros|patterns|comandos|funções|e tudo q há de bom> [JSON_TEXTS...]

Formatar o Json

Bem simples, só redirecionar a saída do curl para o jq... e simples assim...

curl --silent "https://query1.finance.yahoo.com/v11/finance/quoteSummary/aapl?modules=financialData" | jq

Acessar Propriedades

curl --silent "https://query1.finance.yahoo.com/v11/finance/quoteSummary/aapl?modules=financialData" | jq ".quoteSummary.result"

Vertores em JSON

Iterar Vetores

curl --silent "https://query1.finance.yahoo.com/v11/finance/quoteSummary/aapl?modules=financialData" | jq ".quoteSummary.result[] | .financialData.profitMargins"

Acessar pelo índice

curl --silent "https://query1.finance.yahoo.com/v11/finance/quoteSummary/aapl?modules=financialData" | jq ".quoteSummary.result[0] | .financialData.operatingMargins"

Usar funções do JQ

Como por exemplo, listar todas as chaves de um objeto JSON

curl --silent "https://query1.finance.yahoo.com/v11/finance/quoteSummary/aapl?modules=financialData" | jq ".quoteSummary.result[0].financialData | keys"

Kubernetes com JQ

Copiar Secrets de um namespace para outro

Ok, bem nichado esse exemplo, mas é bem util!

kubectl get secrets -o json --namespace | \ jq '.items[].metadata.namespace = ""' | \ kubectl create-f -

Listar status de todos os seus pods de uma namespace

kubectl -n <namespace> get pods -ojson | jq '.items[].status'

Para saber mais...

Este site, https://www.baeldung.com/linux/jq-command-json tem mais e mais exemplos de uso do jq

Espero ter ajudo a turma.

Abraço!

Carregando publicação patrocinada...
2