A lightweight, zero-dependency command-line JSON processor for slicing, filtering, and transforming JSON data.
jq is a lightweight and flexible command-line JSON processor that allows developers to slice, filter, map, and transform JSON data directly in the terminal. It serves as the JSON equivalent of Unix text-processing tools like sed, awk, and grep, enabling efficient manipulation of structured data without external dependencies.
Developers, system administrators, and data engineers who work with JSON APIs, configuration files, logs, or any JSON-based data streams in command-line environments.
jq offers a powerful, terse query language with zero runtime dependencies, making it portable and fast. Its Unix-like composability and rich built-in functions provide a superior alternative to manual JSON parsing or heavier scripting solutions.
Command-line JSON processor
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Written in portable C with no external libraries required, jq runs on any system without installation hassles, ensuring maximum portability.
Its terse, expressive syntax enables complex JSON filtering and transformation with minimal code, seamlessly integrating into Unix pipelines.
jq handles large JSON streams efficiently by processing data on-the-fly, avoiding memory overload for big datasets like log files.
Includes operators for string manipulation, math, and conditionals, reducing the need for external scripting in common data tasks.
Advanced jq queries use cryptic, symbolic syntax that can be difficult to master and debug without frequent reference to documentation.
jq cannot natively process other data formats like XML or YAML, requiring conversion steps that add complexity to mixed-format workflows.
Building from source requires dependencies like autoconf and libtool, which can be cumbersome for users without a full development environment.