Libraries - jmespath-community/jmespath.spec GitHub Wiki

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 Name Compliance Level
C++ jmespath.cpp Fully compliant
.NET jmespath.net
Elixir ex-jmes Fully compliant
Go go-jmespath
Java jmespath-java Fully compliant
Lua jmespath.lua Fully compliant
Javascript jmespath.js Fully compliant
PHP jmespath.php Fully compliant
Python python-jmespath
Ruby jmespath.rb Fully compliant
Rust jmespath.rs Fully compliant
TypeScript typescript-jmespath

In addition to the JMESPath libraries above, there are a number of miscellaneous 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.