JSONPath: Difference between revisions
(→$) |
(→$) |
||
Line 23: | Line 23: | ||
.metadata | .metadata | ||
metadata | metadata | ||
<syntaxhighlight | </syntaxhighlight> | ||
There are two ways to select a specific child element relative to the parent element: [[#.property|.''property'']] and [[#.5B0-based-index.5D|[''0-based-index'']]]. These two different syntaxes are applied to JSON [[JSON_Concepts#Objects|Objects]] and [[JSON_Concepts#Arrays|Arrays]], given the fact that JSON has only these two types of collections. | There are two ways to select a specific child element relative to the parent element: [[#.property|.''property'']] and [[#.5B0-based-index.5D|[''0-based-index'']]]. These two different syntaxes are applied to JSON [[JSON_Concepts#Objects|Objects]] and [[JSON_Concepts#Arrays|Arrays]], given the fact that JSON has only these two types of collections. |
Revision as of 00:08, 16 March 2021
External
- https://goessner.net/articles/JsonPath/
- https://github.com/json-path/JsonPath
- https://support.smartbear.com/alertsite/docs/monitors/api/endpoint/jsonpath.html
- https://github.com/jayway/JsonPath
Internal
Overview
JSONPath is a query language for JSON similar to XPath for XML. Some documentation describes it as a Java DSL for reading JSON documents, probably to address those cases where the implementation is made in Java.
Concepts
JSONPath Expression
A JSONPath expression specifies a path to an element or a set of elements that are part of a JSON document. An expression can be assembled using a series of syntax elements presented below.
$
$ represents the top-level element (or root) of the JSON document. The "$" is optional, the following are equivalent:
$.metadata
.metadata
metadata
There are two ways to select a specific child element relative to the parent element: .property and [0-based-index]. These two different syntaxes are applied to JSON Objects and Arrays, given the fact that JSON has only these two types of collections.
.property
This is called "the dot notation" where a property of the parent JSON Object is specified following a dot.
.metadata.resourceVersion