Dot notation after union with keys
Setup
Selector: $['one','three'].key
{
"one": {"key": "value"},
"two": {"k": "v"},
"three": {"some": "more", "key": "other value"}
}
Results
Consensus
[
"value",
"other value"
]
Other responses
C (json-glib)
[
"value"
]
Elixir (jaxon)
[]
Not supported
parsing error: $['one','three'].key :1:3 - 1:8 could not parse string: invalid syntax
JavaScript (jsonpath-plus)
[]
Python (jsonpath2)
Not supported
line 1:2 token recognition error at: '''
ValueError("line 1:2 token recognition error at: '''")
Raku (JSON-Path)
Not supported
JSON path parse error at position 1
Rust (jsonpath)
Not supported
parsing error
dotNET (Manatee.Json)
Not supported
Expected close bracket. Path up to error: '$'
Errors
Clojure (json-path)
¹
java.lang.Exception object must be an array.
strconv.Atoi: parsing "'one'": invalid syntax
Perl (JSON-Path)
Assertion ("]" is not an operator) failed!
at build/lib/perl5/Carp/Assert.pm line 282, <STDIN> line 5.
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 223
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.