Union with keys after array slice
Setup
Selector: $[:]['c','d']
[{"c":"cc1","d":"dd1","e":"ee1"},{"c":"cc2","d":"dd2","e":"ee2"}]
Results
Consensus
[
"cc1",
"dd1",
"cc2",
"dd2"
]
Other responses
C (json-glib)
[]
Elixir (jaxon)
[]
[
[
"cc1",
"dd1"
],
[
"cc2",
"dd2"
]
]
[
"cc1",
"cc2",
"dd1",
"dd2"
]
JavaScript (jsonpath-plus)
[]
Java (com.jayway.jsonpath)
¹
³
Not supported
SLF4J(W): No SLF4J providers were found.
SLF4J(W): Defaulting to no-operation (NOP) logger implementation
SLF4J(W): See https://www.slf4j.org/codes.html#noProviders for further details.
com.jayway.jsonpath.InvalidPathException: Failed to parse SliceOperation: :
Objective-C (SMJJSONPath)
¹
³
Not supported
Failed to parse SliceOperation: :
Python (jsonpath2)
Not supported
line 1:5 token recognition error at: '''
ValueError("line 1:5 token recognition error at: '''")
Python (python-jsonpath)
[
"cc1",
"cc2",
"dd1",
"dd2"
]
Raku (JSON-Path)
Not supported
JSON path parse error at position 1
Rust (jsonpath)
Not supported
parsing error
Rust (jsonpath_plus)
[
"cc1",
"cc2",
"dd1",
"dd2"
]
dotNET (Manatee.Json)
Not supported
Expected close bracket. Path up to error: '$[:]'
Errors
Clojure (json-path)
¹
java.lang.NumberFormatException Cannot parse null string
strconv.Atoi: parsing "'c'": invalid syntax
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.