Script expression

Setup

Selector: $[(@.length-1)]

["first", "second", "third", "forth", "fifth"]

Results

Consensus

Not supported

Other responses

Bash (JSONPath.sh)

[]

Cpp (jsoncons)

[
  "fifth"
]

Elixir (jaxon)

[]

Golang (github.com-spyzhov-ajson)

[
  "fifth"
]

JavaScript (Goessner) ²

[
  "fifth"
]

JavaScript (brunerd)

[]

JavaScript (jsonpath)

[
  "fifth"
]

JavaScript (jsonpath-plus)

[
  "fifth"
]

PHP (softcreatr-jsonpath)

[
  "fifth"
]

Python (jsonpath) ²

[
  "fifth"
]

Ruby (jsonpath)

[
  "fifth"
]

dotNET (JsonPathLib)

[]

dotNET (Manatee.Json)

[
  "fifth"
]

Errors

Clojure (json-path) ¹

java.lang.NumberFormatException For input string: "("

Erlang (ejsonpath)

init terminating in do_boot ({not_implemented,bin_op,-})

Crash dump is being written to: /dev/null...done
{"init terminating in do_boot",{not_implemented,bin_op,'-'}}

Golang (github.com-bhmj-jsonslice) ¹ ³

path: invalid character at 2

Golang (github.com-oliveagle-jsonpath) ¹

strconv.Atoi: parsing "(@.length-1)": invalid syntax

PHP (Goessner) ²

Error: 'Undefined constant "length"'

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

Rust (jsonpath_plus)

Error Parsing JSON Path:
$[(@.length-1)]
panic occurred

Footnotes