Repolode
01mf02

01mf02/jaq

Um clone do jq em Rust, focado em correção, velocidade e simplicidade, disponível como CLI compatível com jq ou como biblioteca.

Alternativa open source a:jq

Estrelas
3,809
Forks
126
Issues abertas
24
Último commit
ontem

O que é?

jaq é um clone da ferramenta de processamento de JSON jq, escrito em Rust. O projeto busca substituir o jq diretamente na linha de comando, com uma implementação mais previsível da linguagem jq, e também adiciona suporte a formatos de dados que o jq não oferece, como YAML, CBOR, TOML e XML.

jaq está disponível em duas formas: um programa de linha de comando chamado jaq e a biblioteca jaq-core, que compila e executa programas jq dentro de código Rust. jaq-core pode ser usado com segurança em ambientes multithread e funciona com tipos de dados arbitrários além de JSON, por meio da trait ValT.

O projeto informa que tem uma inicialização mais rápida que o jq, o que faz diferença ao processar muitos arquivos pequenos, e inclui uma comparação de desempenho com jq e gojq. O núcleo foi auditado quanto à segurança e o projeto conta com uma suíte de mais de 500 testes.

Recursos principais

  • 01Substituto direto do jq na linha de comando
  • 02Aceita formatos de entrada YAML, CBOR, TOML e XML
  • 03Biblioteca jaq-core para executar programas jq em Rust, com segurança entre threads
  • 04Extensível a tipos de dados personalizados por meio da trait ValT
  • 05Inicialização rápida e benchmarks comparativos com jq e gojq
  • 06Núcleo auditado quanto à segurança e coberto por mais de 500 testes

Casos de uso

  • Substituir o jq em scripts de shell e pipelines que processam JSON
  • Processar muitos arquivos pequenos, quando o tempo de inicialização do jq se acumula
  • Incorporar consultas no estilo jq a uma aplicação Rust

Início rápido

  1. 1

    Instale jaq do crates.io com Cargo

    cargo install --locked jaq
  2. 2

    Instale jaq com Homebrew no macOS ou Linux

    brew install jaq
  3. 3

    Ou baixe um binário para sua plataforma na página de lançamentos

Antes de usar

  • jaq não toma medidas contra o esgotamento de recursos, portanto pode usar tempo, memória ou espaço de pilha sem limite.
  • Alguns comportamentos do jaq diferem dos do jq por design, então a compatibilidade não é completa em todos os casos.

Tópicos

Perguntas frequentes

O que é jaq?
Um clone do jq em Rust, focado em correção, velocidade e simplicidade, disponível como CLI compatível com jq ou como biblioteca. jaq é um clone da ferramenta de processamento de JSON jq, escrito em Rust. O projeto busca substituir o jq diretamente na linha de comando, com uma implementação mais previsível da linguagem jq, e também adiciona suporte a formatos de dados que o jq não oferece, como YAML, CBOR, TOML e XML.
jaq é gratuito? Qual é a licença?
jaq é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
jaq ainda é mantido?
Manutenção ativa. O último commit de jaq foi em 21 de out. de 2026.
Para que posso usar jaq?
Substituir o jq em scripts de shell e pipelines que processam JSON Processar muitos arquivos pequenos, quando o tempo de inicialização do jq se acumula Incorporar consultas no estilo jq a uma aplicação Rust
Como instalar jaq?
Instale jaq do crates.io com Cargo: cargo install --locked jaq Instale jaq com Homebrew no macOS ou Linux: brew install jaq Ou baixe um binário para sua plataforma na página de lançamentos
Onde consigo jaq?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/01mf02/jaq

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados