Alternatives to jaq

Run jq-style queries through a Rust command-line tool and library. The listings below can replace it for an important use case. Each note says what changes if you switch.

The original

Replacements

Listings that take over the same core job as jaq.

  • jq

    The command-line JSON processor: slice, filter, map and transform structured data the way sed and awk handle text.

    jq is the original C implementation with zero runtime dependencies and broad distribution packaging, and it is the reference behavior that jaq's filters partly differ from.

  • gojq

    Process JSON with a Go implementation of jq.

    gojq is a Go implementation of jq usable as a command-line tool or Go library, while jaq is written in Rust and adds extra data formats.

  • yq

    Command-line processor for YAML, JSON, XML, CSV and TOML.

    yq uses a jq-like syntax across YAML, JSON, XML, CSV and TOML and preserves YAML comments, though its expression syntax differs from jq in places.

  • Dasel

    Query and update structured files through a consistent command syntax.

    Dasel queries and updates several structured formats with its own consistent command syntax, so jq-style filters written for jaq would need rewriting.

Similar software

Related functionality, not a direct replacement.