Array slice with open start and end on object
Setup
Selector: $[:]
{":": 42, "more": "string"}
Results
Consensus
[]
Not found consensus
This consensus applies for implementations which return a specific not found value if no match exists.
NOT_FOUND
Other responses
Bash (JSONPath.sh)
[
42,
"string"
]
Elixir (jaxon)
[
42
]
JavaScript (Goessner)
²
[
42
]
Java (com.jayway.jsonpath)
¹
³
Not supported
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
com.jayway.jsonpath.InvalidPathException: Failed to parse SliceOperation: :
Objective-C (SMJJSONPath)
¹
³
Not supported
Failed to parse SliceOperation: :
PHP (Goessner)
²
[
42
]
Python (jsonpath)
²
[
42
]
Python (jsonpath-ng)
[
{
":": 42,
"more": "string"
}
]
Python (jsonpath-rw)
[
{
":": 42,
"more": "string"
}
]
Raku (JSON-Path)
Not supported
JSON path parse error at position 1
Ruby (jsonpath)
[
null,
null
]
Rust (jsonpath)
Not supported
parsing error
dotNET (JsonPathLib)
[
42
]
dotNET (Manatee.Json)
[
42,
"string"
]
Errors
Clojure (json-path)
¹
java.lang.Exception object must be an array.
Elixir (ExJsonPath)
Invalid object returned
Erlang (ejsonpath)
init terminating in do_boot (not_implemented)
Crash dump is being written to: /dev/null...done
{"init terminating in do_boot",not_implemented}
object is not Slice
PHP (softcreatr-jsonpath)
TypeError
Perl (JSON-Path)
Assertion (":" is not an operator) failed!
at build/lib/perl5/Carp/Assert.pm line 282, <STDIN> line 1.
Carp::Assert::assert(...) called at build/lib/perl5/JSON/Path/Evaluator.pm line 215
JSON::Path::Evaluator::_evaluate(...) called at build/lib/perl5/JSON/Path/Evaluator.pm line 120
JSON::Path::Evaluator::evaluate(...) called at build/lib/perl5/JSON/Path/Evaluator.pm line 93
JSON::Path::Evaluator::evaluate_jsonpath(...) called at build/lib/perl5/JSON/Path.pm line 103
JSON::Path::values(...) called at main.pl line 11
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.