Bracket notation with empty string
Setup
Selector: $['']
{"": 42, "''": 123, "\"\"": 222}
Results
Consensus
[
42
]
Scalar consensus
The scalar consensus applies for implementations which return a single value where only one match is possible (instead of an array of a single value).
42
Other responses
Bash (JSONPath.sh)
[]
Elixir (jaxon)
[
123
]
Not found
JavaScript (Goessner)
²
[
{
"": 42,
"\"\"": 222,
"''": 123
}
]
PHP (Goessner)
²
[
{
"": 42,
"\"\"": 222,
"''": 123
}
]
Python (jsonpath)
²
[
{
"": 42,
"\"\"": 222,
"''": 123
}
]
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
Scala (jsonpath)
Not supported
JPError(end of input expected)
dotNET (JsonPathLib)
[
{
"": 42,
"\"\"": 222,
"''": 123
}
]
Errors
Clojure (json-path)
¹
java.lang.Exception object must be an array.
strconv.Atoi: parsing "''": invalid syntax
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.