Awesome jq
A curated list of awesome things built with the JSON processor and turing-complete functional language jq.
Implementations
Standalone implementations of the jq language.
- jq (github) β The original jq command-line JSON processor.
- gojq β A jq implementation in Go.
- jaq β A jq implementation in Rust that misses some small features but is often more correct than the original.
- query-json (
q
) β query-json is a faster, simpler and more portable implementation of the jq language in Reason. - xq Pure rust implementation of jq
- jq.js Pure Javascript implementation of jq
- jqjq jq implementation of jq
Tools
jq-based JSON visualizers and explorers.
Command-line
- 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. - yiq β Like
jiq
, but usingyq
instead, so it supports YAML documents. - ijq β jq REPL with automatic variable assignment and global statements support.
- jqsh β An interactive wrapper written in Go.
- jq-zsh-plugin zsh line editor for constructing jq queries interactively.
- fq β jq for binary formats
- jq-fish-plugin β Inspired by jq-zsh-plugin, interactively build jq expressions in fish shell.
Web
- query-json playground β Web playground that uses
query-json
compiled to JavaScript. - jiq-web (github) β
jiq
, but in a web page, usesjq-web
. - jq play (github) β A playground for jq with sharing capabilities.
- jq kung fu β A jq playground in WebAssembly powered by the original jq compiled with emscripten.
- jq-finder (github) β A multipanel, Finder-like, JSON explorer with jq filters instead of paths, uses
jq-web
. - jqaas β jq as a service, an open HTTP endpoint that executes jq queries.
- jqp β A free serverless proxy for filtering JSON and CSV data using jq.
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.
- virtual-json-viewer β A JSON Chrome/Firefox Extension with virtual DOM, full-text search 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).- vscode-jq + jq-lsp VSCode jq extension with LSP support. Syntax highlight, syntax checking, completion and hover documentation.
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.
- Mastering jq: part 1
- An Introduction to JQ
Code examples
- jq at Rosetta Code β Dozens of algorithms written in jq .
- Builtins β jq builtins coded in jq itself, not C.
Documentation browsers
Use Cases
Apps using jq in the wild.
- jqmd β A "literate devops" tool that allows embedding jq code, shell scripts, YAML, and JSON in a markdown document and making it executable. (A bit like R markdown or IPython notebooks, except with shell/jq/YAML/JSON, and as a CLI scripting tool rather than a GUI.)
- sc β A lightweight SoundCloud client, with a composable api, powered by jq.
- jc β CLI tool that converts the output of popular command-line programs and filetypes to JSON so they can be piped to 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.
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 as a library.
- 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).
- libjq-go β Golang cgo bindings for libjq. This one works with recent versions of jq: 1.5, 1.6+.
- node-jq β A jq wrapper for Node.js.
- ruby-jq β A jq wrapper for Ruby.
- pyjq β A jq wrapper for Python.
- jq.py β Another 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 configuration 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).