The JMESPath specification is implemented in various languages. Each list below shows JMESPath libraries as well as the compliance level. The compliance level is based on which compliance tests the library can pass and as reported by their respective authors.
- Fully compliant: means compliant with respect to the original version of JMESPath.
- JMESPath Community: means compliant with respect to the new JMESPath Community specifications.
Language Implementations
| Language | Name | Compliance Level |
|---|---|---|
| C++ | jmespath.cpp | Fully compliant |
| Elixir | ex-jmes | Fully compliant |
| Go | go-jmespath | |
| Java | jmespath-java | Fully compliant |
| JavaScript | jmespath.js | Fully compliant |
| Lua | jmespath.lua | Fully compliant |
| .NET | jmespath.net | |
| PHP | jmespath.php | Fully compliant |
| Python | python-jmespath | |
| Ruby | jmespath.rb | Fully compliant |
| Rust | jmespath.rs | Fully compliant |
| TypeScript | typescript-jmespath | |
JMESPath Tools
| Tool | Description |
|---|---|
| jmespath.terminal |
Provides a JMESPath interactive terminal that you can use to
evaluate JMESPath expressions as you type. The README in the
github repo shows GIFs of jpterm in action.
|
| jp |
Provides a JMESPath command line interface called jp.
This cross platform tool accepts JSON data through stdin or input
files, and prints the result of evaluating the JMESPath
expression to stdout. This is useful if you're writing shell
scripts that need to manipulate JSON data.
|