gojq VS jq

Compare gojq vs jq and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
gojq jq
31 52
3,084 29,042
- 1.9%
8.6 9.4
6 days ago 3 days ago
Go C
MIT License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

gojq

Posts with mentions or reviews of gojq. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-08.
  • To a Man with `Jq`, Everything Looks Like JSON
    7 projects | news.ycombinator.com | 8 Dec 2023
    Yeap i've talked to itchyny quite a lot about various changes https://github.com/itchyny/gojq/issues/153 and also upstreamed quite a lot https://github.com/itchyny/gojq/issues?q=author%3Awader like custom iterators (to allow eval, own iterators and "empty" functions), query marshalling (query rewrite tricks) and a bunch of small things and bug fixes. But the largest change to add a JQValue interface is quite complex, other changes like extended literals is also a bit tricky.

    Hmm weird list of changes for https://github.com/wader/gojq/compare/fq...itchyny:gojq:main but i guess it is because i haven't kept my main branch in sync. The fq branch should be based on latest gojq/main as of now. I usually try to rebase as quick as possible.

    Let me know if you have any other questions or want to help out! maybe email etc as i usually don't check HN comments replies that often :)

  • Make JSON Greppable
    9 projects | news.ycombinator.com | 3 Dec 2023
  • Jaq – A jq clone focused on correctness, speed, and simplicity
    28 projects | news.ycombinator.com | 29 Nov 2023
  • jq 1.7 Released
    33 projects | news.ycombinator.com | 6 Sep 2023
    gojq has support for yaml input (via a very annoying argument name) and also has the golang property of "curl binary; chmod; profit": https://github.com/itchyny/gojq#difference-to-jq

    It's error reporting is also clang-vs-gcc level wizardry, and I often use it to get a helpful message instead of "ENOWORKY" from jq (I haven't tried 1.7 yet, so it could be better for all I know)

  • First release of jq in 5 years
    4 projects | news.ycombinator.com | 31 Jul 2023
    Some competition for https://github.com/itchyny/gojq. I had read somewhere that it was faster than jq - no idea if that's still the case.
  • Library to analyze an arbitrary JSON string
    5 projects | /r/golang | 1 May 2023
    JQ has a go implementation usable as a library I see. The project looks fairly active https://github.com/itchyny/gojq
  • Miller: Like Awk, sed, cut, join, and sort for CSV, TSV, and tabular JSON
    11 projects | news.ycombinator.com | 16 Mar 2023
    I've been getting a lot of mileage out of https://github.com/itchyny/gojq#readme recently due to two things: its vastly superior error messages and the (regrettably verbose) `--yaml-input` option

    I also have https://github.com/01mf02/jaq#readme installed but just haven't needed it

  • Yq is a portable yq: command-line YAML, JSON, XML, CSV and properties processor
    11 projects | news.ycombinator.com | 4 Feb 2023
    I use gojq with --yaml-input or --yaml-output and flip back and forth between JSON and YAML promiscuously and have 100% jq UI compat, which helps because I use jq a lot. First thing I looked at on yq is '-s', which is 'slurp' for jq. Slightly altered semantics would just trip me up, and it seems like you can make a nearly straight bijection between YAML and jq so you can just do exactly the same things with either one (with some minor exceptions.)

    https://github.com/itchyny/gojq

  • Looking for programming languages created with Go
    23 projects | /r/golang | 6 Nov 2022
    jq https://github.com/itchyny/gojq
  • Oracle DB support in Benthos
    8 projects | /r/golang | 7 Oct 2022
    github.com/itchyny/gojq -> similar to goawk, except JQ this time

jq

Posts with mentions or reviews of jq. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-21.
  • Frawk: An efficient Awk-like programming language. (2021)
    4 projects | news.ycombinator.com | 21 Apr 2024
  • Dehydrated: Letsencrypt/acme client implemented as a shell-script
    11 projects | news.ycombinator.com | 19 Apr 2024
  • I turned my open-source project into a full-time business
    6 projects | news.ycombinator.com | 27 Feb 2024
    I think like you. But also, one does not necessarily know beforehand that they will want to make money.

    Like a project could be born out of pure generosity, but after the happy initial phase the project might get too heavy on the maintenance requirements, causing the author to approach burnout, and possibly deciding that they want to make money to continue pulling the cart forward.

    However, here's something I do think: if you create something as Open Source, it should be out of a mentality of goodwill and for the greater good, regardless of how it ends up being used. OSS licenses do mean this with their terms. If you later get tired or burned out, you should just retire and allow the community to keep taking care of it. Just like it happened with the Jq tool [1].

    [1]: https://github.com/jqlang/jq/releases/tag/jq-1.7

  • How to load JSON data in PostgreSQL with the the COPY command
    1 project | dev.to | 2 Feb 2024
    In this blog we'll see how to upload the JSON directly using PostgreSQL COPY command and using an utility called jq!
  • How to Recover Locally Deleted Files From Github
    1 project | dev.to | 31 Jan 2024
    And we can then make it easier to find the commit by filtering the response with jq.
  • Essential Command Line Tools for Developers
    29 projects | dev.to | 15 Jan 2024
    Official Documentation: jqlang.github.io/jq
  • Command line tools I always install on Ubuntu servers
    4 projects | dev.to | 25 Dec 2023
    To handle JSON files and JSON outputs in a script or format and highlight it, jq can be very handy. Many command line tools provide a json output, so you don't have to write a custom parser for a table a list in a terminal. Instead of that, you can use jq to get a specific value from the output or even modify the output. For more information, you can visit https://jqlang.github.io/jq/
  • How I use Nix in my Elm projects
    8 projects | dev.to | 19 Dec 2023
    In some projects I've wanted to use HTTPie to test APIs and jq to work with some JSON data. Nix has been really helpful in managing those dependencies that I can't easily get from npm.
  • Gooey: Turn almost any Python command line program into a full GUI application
    14 projects | news.ycombinator.com | 9 Dec 2023
    > I'd love to see programs communicate through a typed JSON/proto format that shed enough details to make this more independent, and get useful shell command structuring/completion or full blown GUIs from simply introspecting the expected input and output types.

    You should try PowerShell. It's basically Microsoft's .NET ecosystem molded into an interactive command line. I'm not entirely sure if PoweShell can make full use of the static types that build up its core, but its ability to exchange objects in the command line is almost unmatched.

    On Linux you can use `jc` (https://github.com/kellyjonbrazil/jc) combined with `jq` (https://jqlang.github.io/jq/) to glue together command lines.

  • To a Man with `Jq`, Everything Looks Like JSON
    7 projects | news.ycombinator.com | 8 Dec 2023
    Yeah, but muscle memory bites me all the time and I put the backslash on the closing paren, too, because I'm so used to the regex usage of that syntax which needs them to match

    I also want to draw the reader's attention to the magic of |@uri <https://github.com/jqlang/jq/blob/jq-1.7/docs/content/manual...> for a bunch of cases, but doubly so in TFA's case where they're plugging strings into a URI context. Simple string concat often works great for "hello world", but the world is not always just hello, so one quick use of the filter and jq's got your back

      echo "the world's scary" | jq -Rr '"\(.)"'

What are some alternatives?

When comparing gojq and jq you can also consider the following projects:

jq - Command-line JSON processor [Moved to: https://github.com/jqlang/jq]

yq - Command-line YAML, XML, TOML processor - jq wrapper for YAML/XML/TOML documents

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

jp - Validate and transform JSON with Bash

counsel-jq - Traverse complex JSON and YAML structures with live feedback

Jolt - JSON to JSON transformation library written in Java.

jfq - JSONata on the command line

dasel - Select, put and delete data from JSON, TOML, YAML, XML and CSV files with a single tool. Supports conversion between formats and can be used as a Go package.

zed - A novel data lake based on super-structured data

jmespath.py - JMESPath is a query language for JSON.

gio-example - Mirror of the Gio examples repository (https://git.sr.ht/~eliasnaur/gio-example)

json5 - JSON5 — JSON for Humans