Analysis updated 2026-07-03
Pipe API responses through gojq on the command line to extract specific fields or reshape nested JSON without writing a script.
Import gojq as a Go library to run jq-style queries inside your own application without shelling out to an external binary.
Process YAML configuration files from the terminal using familiar jq syntax without a separate YAML tool.
Handle API responses containing very large integer IDs without the rounding errors that the original jq produces.
| itchyny/gojq | offchainlabs/prysm | qax-os/elastichd | |
|---|---|---|---|
| Stars | 3,754 | 3,755 | 3,755 |
| Language | Go | Go | Go |
| Setup difficulty | easy | hard | easy |
| Complexity | 2/5 | 4/5 | 2/5 |
| Audience | developer | ops devops | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Gojq is a rewrite of the popular command-line tool jq, built entirely in Go. The original jq is a widely-used program that lets you slice, filter, and transform JSON data from the terminal. Gojq does the same thing but is built without any C library dependencies, which makes it easier to compile and distribute across different operating systems without worrying about system library compatibility. From the command line, you pipe JSON text into gojq and write a short query expression to extract or reshape the data. For example, you can pull a specific field out of a JSON object, loop over an array and print each item, or do arithmetic on numeric values, all in a single line. Error messages are designed to show exactly where a query went wrong, which makes it easier to fix mistakes without guessing. Installation is available through Homebrew on macOS, through Docker, or by building from the Go source directly. For developers writing Go programs, gojq can also be imported as a library, letting you run jq-style queries against JSON data inside your own application code rather than shelling out to an external command. Compared to the original jq, gojq handles large integers without rounding errors, reads and writes YAML in addition to JSON, and fixes several edge cases around date formatting and string handling. It intentionally leaves out a handful of flags and functions from the original jq, mostly ones related to output ordering or rarely-used features, and the README documents each omission clearly. The project is licensed under MIT and is suitable for both personal scripting and embedding in production Go applications.
Gojq is a pure-Go rewrite of jq that filters and transforms JSON and YAML from the command line or inside Go programs, with no C library dependencies and better handling of large integers.
Mainly Go. The stack also includes Go, JSON, YAML.
Use, modify, and distribute freely for any purpose including commercial projects, with the copyright notice retained.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.