Dot notation after bracket notation after recursive descent

Setup

Selector: $..[1].key

{
  "k": [{"key": "some value"}, {"key": 42}],
  "kk": [[{"key": 100}, {"key": 200}, {"key": 300}], [{"key": 400}, {"key": 500}, {"key": 600}]],
  "key": [0, 1]
}

Results

Consensus

[
  200,
  42,
  500
]

Other responses

C (json-glib)

Not supported

Unable to compile selector `$..[1].key': Missing member name or wildcard after . character

Elixir (ExJsonPath)

Not supported

syntax error before: '['

Elixir (jaxon)

[]

Erlang (ejsonpath)

Not supported

syntax error before: '['

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

[
  42
]

Objective-C (SMJJSONPath) ¹ ³

[
  "some value",
  100,
  200,
  300,
  400,
  42,
  500,
  600
]

PHP (galbar-jsonpath) ²

Not supported

Invalid JSONPath error: 'Error in JSONPath near '..[1].key''

Perl (JSON-Path)

[]

Rust (jsonpath)

Not supported

parsing error

Scala (jsonpath)

Not supported

JPError(end of input expected)

dotNET (Json.NET)

[]

JSON (Path_Reference_Implementation)

Not supported

 --> 1:3
  |
1 | $..[1].key
  |   ^---
  |
  = expected childName

Errors

Clojure (json-path) ¹

java.lang.Exception object must be an array.

Golang (github.com-oliveagle-jsonpath) ¹

expression don't support in filter

Python (jsonpath-ng)

KeyError(1)

Python (jsonpath-rw)

KeyError(1)

Ruby (jsonpath)

1 is not a symbol nor a string

Footnotes