mcpField
J
jq

jq

OfficialFeaturedAgent-ready
jqlang.github.ioDatabases & Data36.0kjqUpdated 3d ago
RepositoryVisit website

About jq

Parses and processes JSON data using a domain-specific query language. Supports filtering, mapping, aggregation, and reformatting structured data with concise syntax.

Key features

  1. 01Extract specific fields or nested values from JSON with path expressions
  2. 02Filter and transform JSON objects and arrays with conditional logic
  3. 03Output results in various formats including JSON, CSV, or raw text

Use cases

  1. 01Extracting specific data from API responses in shell scripts or pipelines
  2. 02Parsing configuration files or log data in JSON format
  3. 03Combining with other CLI tools to transform and aggregate structured data

Install

Pick your OS or package manager and run the command in a terminal.

$
brew install jq

Once installed, runjq --versionto confirm it works.

Example commands

Common commands in the order you’d use them.

01
cat data.json | jq .
02
jq -r ".items[].name" data.json

Details

From the project README

jq

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.

Documentation

Installation

Prebuilt Binaries

Download the latest releases from the GitHub release page. The platform-specific assets are standalone executables, not archives. On macOS and Linux, rename the downloaded file to jq and make it executable with chmod +x jq.

Docker Image

Pull the jq image to start quickly with Docker.

Run with Docker
Example: Extracting the version from a package.json file
docker run --rm -i ghcr.io/jqlang/jq:latest < package.json '.version'
Example: Extracting the version from a package.json file with a mounted volume
docker run --rm -i -v "$PWD:$PWD" -w "$PWD" ghcr.io/jqlang/jq:latest '.version' package.json
Building from source
Dependencies
  • libtool
  • make
  • automake
  • autoconf
Instructions
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
sudo ldconfig                  # on Linux, if jq cannot find libjq.so

Build a statically linked version:

make clean
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.

Cross-Compilation

For details on cross-compilation, check out the GitHub Actions file and the cross-compilation wiki page.

Community & Support

License

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

Comments

Markdown supported