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

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.