JsonPath¶
Compiled JSONPath query for extracting values from JSON documents.
JSONPath queries navigate JSON structures using string path expressions
(RFC 9535). Compile a path with JsonPathParser.parse(), then apply
it to any number of documents with query():
match JsonPathParser.parse("$.store.book[*].author")
| let path: JsonPath =>
let authors = path.query(doc)
| let err: JsonPathParseError =>
env.err.print(err.string())
end
length, count, match,
search, value) per RFC 9535 Section 2.4.
For simple single-value extraction, query_one() returns the first
match or JsonNotFound.
Public Functions¶
query¶
Execute this query against a JSON document. Returns all matching values. Returns an empty array if no values match. Evaluation never errors.
fun box query(
root: (JsonObject val | JsonArray val | String val |
I64 val | F64 val | Bool val |
None val))
: Array[(JsonObject val | JsonArray val | String val | I64 val | F64 val | Bool val | None val)] val
Parameters¶
Returns¶
query_one¶
Execute this query and return the first matching value, or JsonNotFound if no values match. Convenience for paths known to select at most one value.
fun box query_one(
root: (JsonObject val | JsonArray val | String val |
I64 val | F64 val | Bool val |
None val))
: (JsonObject val | JsonArray val | String val |
I64 val | F64 val | Bool val |
None val | JsonNotFound val)
Parameters¶
Returns¶
- (JsonObject val | JsonArray val | String val | I64 val | F64 val | Bool val | None val | JsonNotFound val)