JMESPath (pronounced "jaymz path") allows you to declaratively specify how to extract elements from a JSON document. jmespath.clj allows you to use JMESPath in Clojure applications with PHP Clojure data structures.
Add the following to your project's project.clj
file.
[jmespath "0.1.0"]
(ns hello-world
(:require jmespath.core :as jmespath))
(jmespath.search "foo.bar" {"foo" {"bar" "baz"}})
The official JMESPath documentation includes a formal grammar, specification, as well as links to other JMESPath implementations.