Um clone do jq em Rust, focado em correção, velocidade e simplicidade, disponível como CLI compatível com jq ou como biblioteca.
jqlang/jq
Processador leve de JSON para linha de comando, escrito em C portátil e sem dependências de runtime, para recortar, filtrar, mapear e transformar JSON.
- Estrelas
- 36,047
- Forks
- 3,067
- Issues abertas
- 419
- Último commit
- há 5 dias
O que é?
jq funciona como sed, awk ou grep para dados JSON. Você envia JSON para ele por um pipe e escreve uma expressão de filtro para selecionar campos, reorganizar objetos ou calcular novos valores; o resultado é impresso na saída padrão.
Ele é escrito em C portátil e não tem dependências de runtime, então pode ser instalado como um único executável independente. Binários pré-compilados para macOS e Linux estão disponíveis na página de releases, e também há uma imagem Docker. Para compilar a partir do código-fonte, são necessários libtool, make, automake e autoconf. O projeto também oferece suporte a linkedição estática e compilação cruzada.
O projeto oferece um playground online em play.jqlang.org para testar filtros antes de usá-los em scripts.
Recursos principais
- 01Seleciona, filtra, mapeia e transforma JSON usando uma linguagem de expressões de filtro.
- 02É executado como um executável independente, sem dependências de runtime.
- 03Escrito em C portátil, pode ser compilado com linkedição estática ou compilação cruzada.
- 04Disponível como binários pré-compilados para macOS e Linux e como imagem Docker.
- 05Inclui um playground online para testar filtros.
Casos de uso
- Extrair um campo, como o número de versão de um arquivo package.json, em um script de shell.
- Reorganizar respostas de API em outra estrutura antes de armazená-las ou exibi-las.
- Filtrar logs ou exportações JSON volumosos pela linha de comando.
- Executar transformações de JSON em pipelines Docker ou de CI sem instalar runtimes adicionais.
Início rápido
- 1
Baixe o binário pré-compilado na página de releases
- 2
Renomeie o arquivo baixado para jq e torne-o executável
chmod +x jq - 3
Ou execute-o com Docker em um arquivo package.json
docker run --rm -i -v "$PWD:$PWD" -w "$PWD" ghcr.io/jqlang/jq:latest '.version' package.json
Em coleções
Tópicos
Perguntas frequentes
- O que é jq?
- Processador leve de JSON para linha de comando, escrito em C portátil e sem dependências de runtime, para recortar, filtrar, mapear e transformar JSON. jq funciona como sed, awk ou grep para dados JSON. Você envia JSON para ele por um pipe e escreve uma expressão de filtro para selecionar campos, reorganizar objetos ou calcular novos valores; o resultado é impresso na saída padrão.
- jq é gratuito? Qual é a licença?
- jq é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
- jq ainda é mantido?
- Manutenção ativa. O último commit de jq foi em 2 de nov. de 2026.
- Para que posso usar jq?
- Extrair um campo, como o número de versão de um arquivo package.json, em um script de shell. Reorganizar respostas de API em outra estrutura antes de armazená-las ou exibi-las. Filtrar logs ou exportações JSON volumosos pela linha de comando. Executar transformações de JSON em pipelines Docker ou de CI sem instalar runtimes adicionais.
- Como instalar jq?
- Baixe o binário pré-compilado na página de releases Renomeie o arquivo baixado para jq e torne-o executável: chmod +x jq Ou execute-o com Docker em um arquivo package.json: docker run --rm -i -v "$PWD:$PWD" -w "$PWD" ghcr.io/jqlang/jq:latest '.version' package.json
- Onde consigo jq?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/jqlang/jq
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Ferramenta de linha de comando e linguagem de consulta como jq para selecionar, filtrar e transformar arquivos Markdown.
Uma ferramenta de linha de comando e linguagem de consulta no estilo jq para inspecionar e consultar formatos de arquivos binários, com decodificadores para dezenas de formatos.
Uma ferramenta de linha de comando e biblioteca Go para consultar e modificar JSON, YAML, TOML, XML, CSV e outros dados estruturados com uma única sintaxe de seleção.
Pacote declarativo em Go para criar ferramentas de linha de comando, com subcomandos, flags, conclusão no shell e geração de ajuda.
Um visualizador e processador de JSON no terminal para navegar, recolher e transformar JSON de forma interativa no shell.