JSON Tools

jq – lightweight and flexible command-line JSON processor

jq is a lightweight and flexible command-line JSON processor. A jq program is a “filter”: it takes an input, and produces an output. There are a lot of builtin filters for extracting a particular field of an object, or converting a number to a string, or various other standard tasks.

Filters can be combined in various ways – you can pipe the output of one filter into another filter, or collect the output of a filter into an array.

Some filters produce multiple results, for instance there’s one that produces all the elements of its input array. Piping that filter into a second runs the second filter for each element of the array. Generally, things that would be done with loops and iteration in other languages are just done by gluing filters together in jq.

jq is like sed for JSON data – you can use it to slice and filter and map and transform structured data with the same ease that sed, awk, grep and friends let you play with text.

jq can mangle the data format that you have into the one that you want with very little effort, and the program to do so is often shorter and simpler than you’d expect.

The input to jq is parsed as a sequence of whitespace-separated JSON values which are passed through the provided filter one at a time. The output(s) of the filter are written to standard out, again as a sequence of whitespace-separated JSON data.

Website: stedolan.github.io/jq
Support: Manual, GitHub Code Repository
Developer: Stephen Dolan
License: MIT License

jq

jq is written in C. Learn C with our recommended free books and free tutorials.


Related Software

JSON Tools
jqLightweight and flexible JSON processor. It's like sed for JSON
fxJSON viewer with streaming and mouse support
jaqjq clone focused on correctness, speed, and simplicity.
gronTransforms JSON into discrete assignments to make it easier to grep
gojqPure Go implementation of jq
jlessCommand-line JSON viewer written in Rust
jnvNavigates JSON offering a viewer and filter editor
JSON EditorView, edit, format, and validate JSON
jidJSON incremental digger by using filtering queries
joSmall utility to create JSON objects
faqBilled as a more flexible jq supporting additional formats
jelloFilter JSON and JSON Lines data with Python syntax
qqjq but an interoperable configuration format transcoder
json-tuiJSON terminal UI
jiqInteractive JSON query tool
emutoSmall language for manipulating and restructuring JSON and other data
svelte-jsoneditorView, edit, format, transform, and validate JSON
qoQuery JSON, CSV, and TSV files using SQL
JaniceDesktop app for viewing large JSON files
unqeryQuery and transform JSON data
TwigTerminal JSON viewer and YAML viewer
jtcExtract, manipulate and transform source JSON
pyfxPython-native TUI JSON viewer
kirillJSON validator
jshonParses, reads and creates JSON. It's designed to be as usable as possible
jsawkLike awk, but for JSON
jqpTUI playground to experiment with jq

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments