- Where is JMESPath used in practice?
- AWS CLI's `--query` flag, Ansible filters, Azure CLI, Terraform providers, and many API client libraries. If you've used `aws ec2 describe-instances --query ...`, you've used JMESPath.
- How do I filter a list of objects?
- Use `[?property=='value']`. For example `Reservations[*].Instances[?State.Name=='running']` pulls running EC2 instances from a describe-instances response.
- What's the difference between `|` and `.`?
- `.` applies the next expression to each element in a projection; `|` stops the projection and applies the next expression to the whole result. Useful when you want to sort or slice the filtered list.
- Does JMESPath support arithmetic?
- Only through built-in functions (length, sum, avg, min_by, max_by, etc.). There are no infix math operators — JMESPath is a query language, not a calculator.