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
jaq
Run jq-style queries through a Rust command-line tool and library.
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.
jnv
Edit jq-style filters while previewing JSON results interactively.
fx
Inspect JSON interactively from your terminal.
jid
Explore JSON interactively with query suggestions.
jless
Browse large JSON structures in a keyboard-driven terminal viewer.
jc
Convert command output into JSON for easier scripting.
gron
A command-line tool that flattens JSON into discrete assignments so it can be searched with grep.