This is the playground for v0.10.2 of github.com/theory/jsonpath, a Go package that executes an RFC 9535 JSONPath query to select values from JSON data.
The playground runs entirely in the browser thanks to TinyGo, which compiles the github.com/theory/jsonpath package into Web Assembly.
Learn more about JSONPath by reading the IETF JSONPath Standard, and more about github.com/theory/jsonpath by following the links at the bottom of the page. The code for this website can be found on GitHub.
| Syntax Element | Description | 
|---|---|
$ | 
          root node identifier | 
@ | 
          current node identifier (valid only within filter selectors) | 
[<selectors>] | 
          child segment: selects zero or more children of a node | 
.name | 
          shorthand for ['name'] | 
        
.* | 
          shorthand for [*] | 
        
..[<selectors>] | 
          descendant segment: selects zero or more descendants of a node | 
..name | 
          shorthand for ..['name'] | 
        
..* | 
          shorthand for ..[*] | 
        
'name' or "name" | 
          name selector: selects a named child of an object | 
* | 
          wildcard selector: selects all children of a node | 
3 | 
          index selector: selects an indexed child of an array (from 0) | 
0:100:5 | 
          array slice selector: start:end:step for arrays | 
        
?<logical-expr> | 
          filter selector: selects particular children using a logical expression | 
length(@.foo) | 
          function extension: invokes a function in a filter expression |