JMESPath · lesson 12 of 15 · Functions
Counting & math
length, avg, min, max and sum work on arrays (and length works on strings and objects too).
Examples
Example 1Count, average, youngest, oldest
Document
{
"team": "Platform",
"office": { "city": "Berlin", "floor": 3 },
"members": [
{ "name": "Ada", "age": 36, "role": "lead", "active": true,
"email": "[email protected]", "skills": ["rust", "sql"] },
{ "name": "Linus", "age": 28, "role": "dev", "active": true,
"email": null, "skills": ["c", "shell"] },
{ "name": "Grace", "age": 45, "role": "dev", "active": false,
"skills": ["cobol"] },
{ "name": "Alan", "age": 41, "role": "qa", "active": true,
"email": "[email protected]", "skills": [] }
]
}Query
[length(members), avg(members[*].age), min(members[*].age), max(members[*].age)]
length(members)How many members →4.avg(members[*].age)The mean age →37.5.min(members[*].age)The youngest →28.max(members[*].age)The oldest →45.
Result
[4,37.5,28,45]
Good to know
sumis there too — and, likeabs, it returns a floating-point number:sum(members[*].age)prints150.0.