Open
Description
Maybe use https://docs.jsonata.org/ as inspiration.
Sketch
Recap: JsonPath
has 3 important notations:
.property
(plain/unescaped){property}
("escaped")[index]
Generally any query should be marked by using round brackets: (...)
The main function is to collect matching paths and with that matching nodes.
Stream<JsonValue> query(JsonQL);
Path Selectors
([...])
is aJsonArray + Predicate : JsonArray
function to select elements based on a predicate([*])
select all({...})
is aJsonObject + Predicate : JsonObject
function to select properties based on a predicate({*})
select all