Filtrar dados JSON no terminal pode parecer complexo, mas com o jq, uma ferramenta poderosa e leve, você transforma essa tarefa em algo simples e rápido. O jq permite extrair, filtrar e transformar dados JSON diretamente na linha de comando, tornando-o essencial para desenvolvedores e analistas de dados que precisam processar informações em tempo real.
Antes de começar, certifique-se de que o jq está instalado. No Linux, use:
sudo apt-get install jq # Debian/Ubuntu
sudo yum install jq # CentOS/RHEL
No macOS, com Homebrew:
brew install jq
Para extrair um campo específico de um arquivo JSON, use o ponto (.) seguido do nome da chave. Por exemplo, para obter o valor da chave "nome" em um arquivo data.json:
jq '.nome' data.json
Este comando exibirá apenas o conteúdo do campo "nome", ignorando o resto do documento.
Para acessar dados dentro de arrays ou objetos aninhados, use a notação de ponto. Se o JSON contém um array chamado "usuarios" e você quer o primeiro item:
jq '.usuarios[0]' data.json
Para filtrar todos os itens de um array e extrair um campo específico, como "email":
jq '.usuarios[].email' data.json
Para filtrar itens com base em uma condição, use a sintaxe select(). Por exemplo, para encontrar usuários com idade maior que 25:
jq '.usuarios[] | select(.idade > 25)' data.json
Este comando retorna apenas os objetos que atendem à condição especificada.
Considere o seguinte arquivo JSON (data.json):
| Entrada (data.json) | Saída Esperada |
|---|---|
|
|
Comando para obter a saída acima:
jq '.usuarios[] | select(.idade > 25)' data.json
Com o jq, você automatiza a filtragem de dados JSON em segundos, evitando erros manuais e ganhando produtividade no terminal. Seja para extrair campos específicos, filtrar arrays ou aplicar condições complexas, esta ferramenta oferece flexibilidade e velocidade para qualquer tarefa de processamento de dados.