Data / Query

JMESPath Playground

AWS CLI's JSON query language - paths, filters, projections, built-ins.

Runtime: jmespath

JSON input

JMESPath expression

Try: users[?active].name, length(users), users[*].roles[]

Loading JMESPath…

Result

About this playground

JMESPath is the JSON query language used by AWS CLI, Ansible and many other DevOps tools. The playground loads the official jmespath JavaScript library (~20 KB) and evaluates expressions against the JSON on the left.

FAQs

How is this different from JSONata?

JMESPath is leaner (no conditionals, no user functions) but more widely used in DevOps tooling. If you copy expressions from AWS docs or Ansible playbooks, you want JMESPath.

Why both JSONata and JMESPath?

Different ecosystems, different syntax, different feel. Most users want one or the other depending on the tool they're targeting.

Useful built-ins?

length(), sort(), sort_by(), keys(), values(), to_string(), starts_with(), contains() and friends. Filters use [?expression] syntax.

Other playgrounds