Alternatives to jq
The command-line JSON processor: slice, filter, map and transform structured data the way sed and awk handle text. The listings below can replace it for an important use case. Each note says what changes if you switch.
The original
jq
The command-line JSON processor: slice, filter, map and transform structured data the way sed and awk handle text.
Replacements
Listings that take over the same core job as jq.
gojq
Process JSON with a Go implementation of jq.
gojq is a Go implementation of jq that also works as a Go library, with broad but not identical compatibility with existing jq filters.
jaq
Run jq-style queries through a Rust command-line tool and library.
jaq runs jq-style queries through a Rust tool and library with extra data formats, though some behavior differs from jq, so filters need checking.
yq
Command-line processor for YAML, JSON, XML, CSV and TOML.
yq applies a jq-like syntax to YAML, JSON, XML, CSV and TOML and preserves YAML comments, but its expressions differ from jq in places.
Dasel
Query and update structured files through a consistent command syntax.
Dasel queries and updates several structured formats with one consistent command syntax of its own, so existing jq filters 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.
qsv
Query, transform and validate tabular data from the terminal.