/awesome-jq

A curated list of awesome jq tools and resources.

Awesome jq 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.
  • yiq – Like jiq, but using yq instead, so it supports YAML documents.
  • ijqjq 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.

Web

  • jiq-web (github) – jiq, but in a web page.
  • 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.
  • jqaasjq 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

Good small specific tutorials

Code examples

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.
  • @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.
  • jtooljq-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 librariesjq 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-webjq 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).

License

CC0