jq Command
JSON Query command for filtering data out of a JSON Object, file, or URL. jq is a query language built specifically for interacting with JSON type data. More information can be found at https://jmespath.org/ as well as an online version to test your query Pass or pipe the text to process or a filename
Using jq with a file
Using jq with a URL
Using jq with inline json
Special Keys / Expressions
@
- Current Node (eg. current number/string/array/object) used to evaluate or check value
&
- Expression (Function or Keyname) (eg. &to_number() or &keyname)
!
- NOT Expression
&&
- AND expression
||
- OR expression
{'ab':true}
- Literal Expressions (this will be converted to json)
'foo'
- Raw String Literals not evaluated (Single Quotes)
Available Functions
Generic Functions
length, reverse, type, not_null
Conversion Functions
to_list, to_array, to_string, to_number
String / Number Functions
abs
, ceil
, floor
Boolean Checks
ends_with
, starts_with
, contains
All functions can be used in other functions with the "&" operator.
A common example would be getting a person with the highest or lowest networth max_by(people, &abs(net_worth))
Array Functions
avg
, first
, join
, last
, matches
, min
, max
, reverse
, sum
, sort
, split
, unique/uniq
Struct or Array of Structs functions
defaults
, from_entries
, group_by
, key_contains
, keys
, map
, max_by
, merge
, min_by
, omit
, pluck
, sort_by
, to_entries
, values
Last updated