JMESPath is a query language for JSON. You can extract and transform elements from a JSON document
The simplest JMESPath expression is an identifier, which selects a key in an JSON object:
Slices allow you to select a contiguous subset of an array
Projections are one of the key features of JMESPath. It allows you to apply an expression to a collection of elements. There are five kinds of projections:
List Projections
Slice Projections
Object Projections
Flatten Projections
Filter Projections
Projections are an important concept in JMESPath. However, there are times when projection semantics are not what you want. A common scenario is when you want to operate of the result of a projection rather than projecting an expression onto each element in the array
allow you to create JSON elements. This allows you to create elements that don’t exist in a JSON document. A multiselect list creates a list and a multiselect hash creates a JSON object
Below example used in functions,
{"people": [{"name": "b","age": 30},{ "name": "a","age": 50},{ "name": "c","age": 40}]}
Length(people)
max_by(people, &age).name
myarray[?contains(@, 'foo') == `true`]