string requiredThe JSON to query - either a JSON variable name defined earlier on the page with definejson, or a literal JSON string (for example one loaded with include from a remote API).
query requiredThe JSONPath query to evaluate against the JSON, for example $.data, an array index like $.nums[1], a wildcard $.items[*].name, or a filter $.data[?(@.email=="a@x.cz")].status.
attr optionalOptional. How each matched element is rendered. Leave empty to return the matched scalar value (objects/arrays come back as JSON). Give an object key to return that attribute from each match. Use JSON to return the whole matched structure as a JSON string. Use varjson to store each match in a temporary JSON variable and return its name (for a follow-up jsonpath call).
delimiter optionalOptional. By default only the first matching value is returned. If you give a delimiter, every match is returned with the delimiter appended after each one (including after the last match, so the result ends with a trailing delimiter).
[{jsonpath:{"data":[{"email":"a@x.cz","status":1},{"email":"b@x.cz","status":3}]}:$.data[?(@.email=="b@x.cz")].status}]
[{jsonpath:{"city":"Praha"}:$.nope}]
[{jsonpath:{"data":[{"email":"a@x.cz","status":1},{"email":"b@x.cz","status":3}]}:$.data[?(@.email=="b@x.cz")]:status}]
[{jsonpath:{"nums":[10,20,30]}:$.nums[1]}]
[{definejson:JPVcfg:{"site":"AA","limit":10}}{jsonpath:JPVcfg:$.limit}]
[{jsonpath:{"city":"Praha","zip":"11000"}:$.city}]
{definejson:Subs:{include:https#://api.example.org/lists/2/subscribers:GET:{jsonasoc:Content-Type:application/json}}}{jsonpath:Subs:$.data[?(@.email=="editor@example.org")].status}
[{jsonpath:{"items":[{"n":"Ada"},{"n":"Boris"}]}:$.items[*].n::, }]
[{jsonpath:{"data":[{"email":"a@x.cz","status":1},{"email":"b@x.cz","status":3}]}:$.data[?(@.email=="b@x.cz")]:JSON}]
[{jsonpath:{"items":[{"n":"Ada"},{"n":"Boris"}]}:$.items[*].n}]