Awesome jq
A curated list of awesome things built with the JSON processor and turing-complete functional language jq.
Tools
jq-based JSON visualizers and explorers.
Command-line
- jq (github) – jq itself, the command-line JSON processor.
- gojq – A full jq implementation in Go (yes), also usable as a library.
- faq – CLI program that processes BSON, Bencode, JSON, TOML, XML, YAML using libjq.
- jiq – A visual command-line interactive JSON explorer with jq filters.
echo '' | fzf --print-query --preview "cat *.json | jq {q}"
– An fzf hack that turns it into an interactive jq explorer.- jqq – A visual command-line interactive jq explorer written in Ruby.
- yq (and
xq
) – jq wrapper for YAML and XML documents. - ijq – jq REPL with automatic variable assignment and global statements support.
- jqsh – An interactive wrapper written in Go.
Web
- jiq-web (github) – jiq, but in a web page.
- jq play (github) – A playground for jq with sharing capabilities.
- jq-finder (github) – A multipanel, Finder-like, JSON explorer with jq filters instead of paths.
- jqaas – jq as a service, an open HTTP endpoint that executes jq queries.
Desktop
- jqi (github) – The almighty jq processor wrapped in a graphical UI, for Mac OSX.
- jqview – A jq JSON explorer with a minimalist native GUI.
Extensions
- bro/q – A Chrome Extension for JSON formatting and jq filtering.
- atom-jq – Interactive jq playground inside the Atom editor.
- jq-mode – A jq mode for Emacs.
- vscode-jq – A jq extension for VS Code.
- vscode-jq-playground – A jq playground notebook extension for VS Code.
- vim-jqplay – Interactive jq playground inside Vim.
:%!jq '.'
is a Vim command that formats JSON in-place with jq (beware of any other tricks you might be thinking of).- @runjqbot – A Telegram bot that executes arbitrary jq code.
Documentation
Readings about jq.
Core documentation
- Manual – jq manual (development version).
- FAQ – jq FAQ.
- Cookbook – jq cookbook.
- Advanced Topics – jq advanced topics.
Good small specific tutorials
- Bash that JSON (with jq).
- JSON on the command line with jq.
- Reshaping JSON with jq.
- jq is sed for JSON.
Code examples
- jq at Rosetta Code – Dozens of algorithms written in jq .
- Builtins – jq builtins coded in jq itself, not C.
Use Cases
Apps using jq in the wild.
- sc – A lightweight SoundCloud client, with a composable api, powered by jq.
- @incomingnotificationbot – A Telegram bot that gives you HTTP endpoints and notifies you when a webhook arrives, filtering and formatting content with jq.
- jqt (github) – A web template engine that uses jq as expression language.
- Vudash – A flexible and JSON-powered configurable open-source dashboard with support for a jq transformer.
- datasette-jq – A plugin that enables jq queries on JSON columns on datasette deployments.
- jtool – jq-based JSON tools for a modern shell.
- just-dashboard – A serverless app for implementing JSON-powered dashboards with JSON or YAML files (and jq filters as strings) serving as the only source of configuration.
- bf.jq – A Brainfuck interpreter written in jq.
- jq-voronoi – Implementation of Fortune’s algorithm to calculate Voronoi diagram on jq.
- etleneum – A centralized smart contract platform that works with sats and uses jq for easing the life of clients that want to fetch JSON states.
Libraries and tools for jq itself
Incrementing jq capabilities.
- jqnpm (github) – A jq package manager that installs modules from GitHub and runs jq scripts.
- JBOL – A collection of utility modules for jq (math, prelude, set, string etc.).
- bigint, array, string and other libraries – jq libraries from the author of jqnpm.
External libraries
Using jq from other languages.
- gojq – A full jq implementation in Go, usable either as a library or as a standalone CLI.
- jq-web – jq itself compiled to JavaScript with emscripten. There's also an alternative at jqdash.
- jq-go – Golang cgo bindings for libjq (jqpipe-go is a CLI wrapper from the same people).
- node-jq – A jq wrapper for Node.js.
- ruby-jq – A jq wrapper for Ruby.
- pyjq – A jq wrapper for Python.
- php-ext-jq – PHP extension for jq.
- java-jq – A jq wrapper for Java (jackson-jq is a Jackson extension).
- jqr – R interface to jq.
- Ansible jq – A jq filter for Ansible confiruation manager.
Contribute
Please contribute! Open an issue or a PR and we’ll discuss it or merge it. If you’re opening a PR, please ensure all formatting is ok (if you’re in a hurry just open an issue).