jq
Command-line JSON processor
jq is sed for JSON, on the command line
A lightweight JSON processor written in portable C, jq sits on the command line like sed or awk do, letting you slice, filter, map, and transform structured data with zero runtime dependencies.
The tool in one line
jq bills itself as a lightweight and flexible command line JSON processor, akin to sed, awk, grep, and friends, but for JSON data. It is written in portable C and has zero runtime dependencies. The README's own summary of what you can do is slice, filter, map, and transform structured data, which is a fair description of the day to day use of the tool. The project dates to 2012, making it an old hand among command line utilities.
Building it from source
For people who compile it themselves, the README walks through building from source. If you build a released tarball rather than the latest git version, you can skip the autoreconf step, and flex or bison are not needed. Cross compilation details live in a GitHub Actions file and a dedicated wiki page.
Where to get help
Support channels are listed plainly: Stack Overflow with the jq tag for questions and help, a Discord server for chat and community, and a wiki for advanced topics. That is the whole support story in the README, three places to go depending on what you need.
Licensing details
The licensing note is more granular than most. jq itself is released under the MIT License. Its documentation is licensed under Creative Commons CC BY 3.0. And the tool uses parts of the open source C library decNumber, which is distributed under the ICU License. On GitHub the project's license field shows as unclassified rather than a single SPDX id.
Community notes