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 from the terminal. It solves the problem of efficiently manipulating structured JSON in scripts and data pipelines without relying on heavy dependencies. Think of it as sed or awk, but specifically designed for JSON.
Developers, DevOps engineers, and data professionals who work with JSON data in command-line environments, scripts, or automation pipelines.
Developers choose jq for its zero runtime dependencies, portable C implementation, and powerful, expressive syntax that makes complex JSON manipulations simple and composable with other Unix tools.
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.
jq uses a concise, domain-specific language to extract and manipulate JSON fields, making complex queries simple with filters like '.items[] | select(.price > 10)'.
It processes large JSON files or streams without loading everything into memory, ideal for big data or log files, as highlighted in the README's key features.
Written in portable C with no runtime dependencies, jq runs anywhere from servers to embedded systems, ensuring broad compatibility and ease of deployment.
The official playground at play.jqlang.org allows users to try jq online without installation, facilitating quick learning and testing of filters.
jq's filter language is powerful but non-intuitive, with a syntax that can be challenging to master compared to using JSON libraries in scripting languages.
It exclusively handles JSON data, so for projects dealing with other formats like YAML or XML, additional tools or conversions are necessary, limiting utility in mixed-format environments.
Error messages in jq are often vague and unhelpful for debugging complex queries, which can frustrate new users and slow down development.