Jaq – A jq clone focused on correctness, speed, and simplicity

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • jq

    Command-line JSON processor

  • jq 1.7 do preserve large integers but will truncate if any operation is done on them. Unfortunetly it currently truncates to a decimal64 which is a bit confusing, this will be fixed in next release where it follow the suggestion from the JSON spec and truncates to binary64 (double) https://github.com/jqlang/jq/pull/2949

  • jaq

    A jq clone focussed on correctness, speed, and simplicity

  • https://github.com/01mf02/jaq/blob/main/Cargo.lock

    That's a lot of dependencies..

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • gron

    Make JSON greppable!

  • Have you tried `gron`?

    It converts your nested json into a line by line format which plays better with tools like `grep`

    From the project's README:

    gron "https://api.github.com/repos/tomnomnom/gron/commits?per_page..." | fgrep "commit.author"

    json[0].commit.author = {};

    json[0].commit.author.date = "2016-07-02T10:51:21Z";

    json[0].commit.author.email = "[email protected]";

    json[0].commit.author.name = "Tom Hudson";

    https://github.com/tomnomnom/gron

    It was suggested to me in HN comments on an article I wrote about `jq`, and I have found myself using it a lot in my day to day workflow

  • Saxon-HE

    Saxon-HE open source repository

  • Now that is just aggressively dumb: https://github.com/Saxonica/Saxon-HE/tree/SaxonHE12-3/12#sou... and https://github.com/Saxonica/Saxon-HE/tree/SaxonHE12-3/12/sou... (not even the decency to use .gitattributes so it knows the files are binary)

    FWIW https://saxonica.plan.io/projects/saxonmirrorhe/repository seems to be the for-real source repo

  • yq

    yq is a portable command-line YAML, JSON, XML, CSV, TOML and properties processor

  • - yq has no if-then-else https://github.com/mikefarah/yq/issues/95 which is a poor design (or omission) in my opinion

  • fq

    jq for binary formats - tool, language and decoders for working with binary and text formats

  • Quite a lot! i use it to explode both JSON and tex (parse using jq functions). I also use it for exploring ane debug binary formats (https://github.com/wader/fq). Now a days i also use it for some adhoc programming and a calculator.

  • related_post_gen

    Data Processing benchmark featuring Rust, Go, Swift, Zig, Julia etc.

  • I think my benchmark[1] would be a great test for this. The jq[2] version takes 50s on my machine.

    [1] : https://github.com/jinyus/related_post_gen

    [2]: https://github.com/jinyus/related_post_gen/blob/main/jq/rela...

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • fx

    Terminal JSON viewer & processor

  • There's also this awesome tool to make JSON interactively navigable in the terminal:

    https://fx.wtf

  • wasmer

    🚀 The leading Wasm Runtime supporting WASIX, WASI and Emscripten

  • jql

    A JSON Query Language CLI tool

  • It's so awesome when projects shout out other projects that they're similar to or inspired by or not replacements for. I learned about https://github.com/yamafaktory/jql from the readme of this project and it's what I've been looking for for a long time, thank you!

    That's not to take away from JAQ by any means I just find the JQ style syntax uber hard to grokk so jql makes more sense for me.

  • yq

    Command-line YAML, XML, TOML processor - jq wrapper for YAML/XML/TOML documents (by kislyuk)

  • textql

    Execute SQL against structured text like CSV or TSV

  • I like textql [0] better for this use case, as it's simpler in my mind.

    [0] https://github.com/dinedal/textql

  • jless

    jless is a command-line JSON viewer designed for reading, exploring, and searching through JSON data.

  • https://jless.io/ is similar, and will give you jq selectors so the two combine very well. (fx might have that feature too, I dunno)

  • git-xargs-tasks

    Keep git-xargs changes together

  • I've been using yq + git-xargs to automate config files in repos (CI/CD, linters, etc). The combo has been spectacular for me.

    https://github.com/bbkane/git-xargs-tasks

  • PowerShell

    PowerShell for every system!

  • Can you give an example of something that PS can do that is built-in for text processing, instead of a proprietary symbolic query language?

    [1] https://github.com/PowerShell/PowerShell

  • fastgron

    High-performance JSON to GRON (greppable, flattened JSON) converter

  • And also https://github.com/adamritter/fastgron that I've just discovered.

  • gojq

    Pure Go implementation of jq

  • rcl

    A reasonable configuration language (by ruuda)

  • I have that same problem, the advanced features I use too little to remember. Then I started working on a configuration language that should have a non-surprising syntax (json superset, mostly inspired by Python, Rust, Nix). And it turns out, this works well as a query language for querying json documents. https://github.com/ruuda/rcl Here is an example use case: https://fosstodon.org/@ruuda/111120049523534027

  • murex

    A smarter shell and scripting environment with advanced features designed for usability, safety and productivity (eg smarter DevOps tooling)

  • This is exactly what Murex shell does. It has lots of builtin tools for querying structured data (of varying formats) but also supports POSIX pipes for using existing tools like `jq` et al seamlessly too.

    https://murex.rocks

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts