/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.


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.

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 using yq 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, uses jq-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).
  • @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.
  • 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).

License

CC0