JSONPath logo

JSON Path

CategoryData Transformation Standards

JSON Path Language (JSONPath) is a standard created by Stefan Goessner to provide a mechanism for selectively extracting values out of JSON documents, similar to how XPath does is for XML-formatted data. It uses object-style field access notation combined with pattern matching.


Specification


JSON Document Navigation


Pattern-based Value Selection

JSONPath specification defines how values could be interactively found and extracted out of JSON structures in a declarative way, without special scripting.

The specification defines expressions that refer to a JSON structure in the same way as XPath expressions are used in combination with an XML document. Since a JSON structure is usually anonymous and doesn't necessarily have a named root object, JSONPath assumes the abstract name $ assigned to the top-level object.

Location path expressions can use either object-style dot notation, or array-style bracket notation to specify the actual path to a JSON value. Wildcards are allowed for multi-value matching. Regardless of how many values have been found, the result of the jsonPath function is always a valid JSON array (or false in case of no match).

Libraries implementing the JSONPath query syntax are available for many programming languages, including JavaScript, C/C++, Java, Lua, Python and Ruby.

JSONPath standard