Recursive descent after dot notation
Setup
Selector: $.key..
{"some key": "value", "key": {"complex": "string", "primitives": [0, 1]}}
Results
Consensus
Not supported
Other responses
Bash (JSONPath.sh)
[
"string",
0,
1
]
Clojure (json-path)
¹
[
0,
1,
[
0,
1
],
{
"complex": "string",
"primitives": [
0,
1
]
}
]
Cpp (jsoncons)
[
[
0,
1
],
{
"complex": "string",
"primitives": [
0,
1
]
}
]
Elixir (jaxon)
[
{
"complex": "string",
"primitives": [
0,
1
]
}
]
[
"string",
0,
1,
[
0,
1
],
{
"complex": "string",
"primitives": [
0,
1
]
}
]
[
[
0,
1
],
{
"complex": "string",
"primitives": [
0,
1
]
}
]
JavaScript (Goessner)
²
[
[
0,
1
],
{
"complex": "string",
"primitives": [
0,
1
]
}
]
JavaScript (jsonpath-plus)
[
[
0,
1
],
{
"complex": "string",
"primitives": [
0,
1
]
}
]
Kotlin (com.nfeld.jsonpathkt)
¹
{
"complex": "string",
"primitives": [
0,
1
]
}
PHP (Goessner)
²
[
[
0,
1
],
{
"complex": "string",
"primitives": [
0,
1
]
}
]
PHP (softcreatr-jsonpath)
[
[
0,
1
],
{
"complex": "string",
"primitives": [
0,
1
]
}
]
Perl (JSON-Path)
[]
Python (jsonpath)
²
[
"string",
0,
1,
[
0,
1
],
{
"complex": "string",
"primitives": [
0,
1
]
}
]
Python (python-jsonpath)
[
[
0,
1
],
{
"complex": "string",
"primitives": [
0,
1
]
}
]
Raku (JSON-Path)
[
"string",
0,
1,
[
0,
1
]
]
Ruby (jsonpath)
[
{
"complex": "string",
"primitives": [
0,
1
]
}
]
Rust (jsonpath_plus)
[
"string",
0,
1,
[
0,
1
],
{
"complex": "string",
"primitives": [
0,
1
]
}
]
dotNET (JsonCons.JsonPath)
[
[
0,
1
],
{
"complex": "string",
"primitives": [
0,
1
]
}
]
dotNET (JsonPathLib)
[
[
0,
1
],
{
"complex": "string",
"primitives": [
0,
1
]
}
]
Errors
path: unexpected end of path at 7
expression don't support in filter
Java (com.github.jsurfer)
java.lang.IllegalStateException: deep-scan shouldn't be the last operator.
Footnotes
- ¹ This implementation returns a single value where only one match is possible (instead of an array of a single value).
- ² This implementation returns a specific not found value if no match exists.
- ³ This implementation returns a specific not found value if a query that would regularly return a single match results in no match.