.
Identity operator
|
Pipe operator
.foo
Get property "foo"
.foo.bar
Get nested property
.["foo"]
Get property with variable name
.[0]
Get first array element
[]
Iterator/array destructuring
.[]
Stream array elements
[.[]]
Collect stream into array
.[:2]
First 2 elements (slice)
.[-2:]
Last 2 elements
.[1:4]
Elements 1-3 (slice)
{name, age}
Select specific fields
{new_name: .old}
Rename field
{name, count: .items | length}
Computed field
+
Merge objects
map(.value)
Transform array elements
select(.age > 18)
Filter elements
sort_by(.age)
Sort by field
group_by(.type)
Group by field
unique
Unique elements
reverse
Reverse array
ascii_upcase
Convert to uppercase
ascii_downcase
Convert to lowercase
split(",")
Split string into array
join(",")
Join array into string
length
String length
length
Array/object length
keys
Get object keys
has("key")
Check if key exists
type
Get data type
tonumber
Convert to number
tostring
Convert to string
if .age > 18 then "adult" else "minor" end
If-then-else
// "default"
Alternative operator
?// "default"
Safe alternative
try .value catch "error"
Try-catch