Command-line JSON processor
jq
is a lightweight and flexible command-line JSON processor akin to sed
,awk
,grep
, and friends for JSON data. It’s written in portable C and has zero runtime dependencies, allowing you to easily slice, filter, map, and transform structured data.
Download the latest releases from the GitHub release page.
Pull the jq image to start quickly with Docker.
package.json
filedocker run --rm -i ghcr.io/jqlang/jq:latest < package.json '.version'
package.json
file with a mounted volumedocker run --rm -i -v "$PWD:$PWD" -w "$PWD" ghcr.io/jqlang/jq:latest '.version' package.json
git submodule update --init # if building from git to get oniguruma
autoreconf -i # if building from git
./configure --with-oniguruma=builtin
make clean # if upgrading from a version previously built from source
make -j8
make check
sudo make install
Build a statically linked version:
make LDFLAGS=-all-static
If you’re not using the latest git version but instead building a released tarball (available on the release page), skip the autoreconf
step, and flex or bison won’t be needed.
For details on cross-compilation, check out the GitHub Actions file and the cross-compilation wiki page.
jq
is released under the MIT License. jq
’s documentation is
licensed under the Creative Commons CC BY 3.0.
jq
uses parts of the open source C library “decNumber”, which is distributed
under ICU License