Array slice with step 0

Setup

Selector: $[0:3:0]

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

Results

Other responses

Bash (JSONPath.sh)

[
  "first",
  "second",
  "third"
]

Clojure (json-path) ¹

"first"

Cpp (jsoncons)

Not supported

Slice step cannot be zero at line 1 and column 8

Dart (json_path)

[]

Elixir (ExJsonPath)

[]

Elixir (jaxon)

[]

Elixir (warpath) ¹

[]

Erlang (ejsonpath)

[]

Golang (github.com-PaesslerAG-jsonpath) ¹

[
  "first",
  "second",
  "third"
]

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

[
  "first",
  "second",
  "third"
]

Golang (github.com-ohler55-ojg)

[]

Golang (github.com-theory-jsonpath)

[]

Golang (github.com-vmware-labs-yaml-jsonpath)

Not supported

invalid array index [0:3:0] before position 8: array index step value must be non-zero

Haskell (jsonpath)

[]

JavaScript (json-p3)

[]

JavaScript (jsonpath-plus)

[
  "first",
  "second",
  "third"
]

JavaScript (jsonpathly)

[
  "first",
  "second",
  "third"
]

Java (com.github.jsurfer)

Not supported

org.antlr.v4.runtime.misc.ParseCancellationException

Java (com.jayway.jsonpath) ¹ ³

[
  "first",
  "second",
  "third"
]

Kotlin (com.nfeld.jsonpathkt) ¹

[
  "first",
  "second",
  "third"
]

Objective-C (SMJJSONPath) ¹ ³

[
  "first",
  "second",
  "third"
]

PHP (Goessner) ²

[
  "first",
  "second",
  "third"
]

PHP (remorhaz-jsonpath)

[]

PHP (softcreatr-jsonpath)

[
  "first",
  "second",
  "third"
]

Python (jsonpath-rw)

Not supported

Exception('Parse error at 1:5 near token : (:)')

Python (python-jsonpath)

[]

Raku (JSON-Path)

Not supported

JSON path parse error at position 1

Rust (jsonpath)

Not supported

parsing error

Rust (serde_json_path)

[]

Swift (Sextant)

[
  "first",
  "second",
  "third"
]

dotNET (Json.NET)

Not supported

Step cannot be zero.

dotNET (JsonCons.JsonPath)

Not supported

Slice step cannot be zero

dotNET (JsonPath.Net)

[]

dotNET (Manatee.Json)

[]

Errors

C (json-glib)

timeout: sending signal TERM to command ‘build/main’

Golang (github.com-oliveagle-jsonpath) ¹

only support one range(from, to): [0 3 0]

Golang (github.com-spyzhov-ajson)

wrong request: wrong request: 0:3:0

JavaScript (Goessner) ²


<--- Last few GCs --->

[115278:0xaaaad3880230]      408 ms: Mark-sweep 14.3 (23.9) -> 6.5 (23.9) MB, 6.4 / 0.0 ms  (average mu = 0.720, current mu = 0.674) allocation failure; scavenge might not succeed
[115278:0xaaaad3880230]      428 ms: Mark-sweep 21.0 (30.5) -> 8.7 (26.1) MB, 6.2 / 0.0 ms  (average mu = 0.702, current mu = 0.684) allocation failure; scavenge might not succeed


<--- JS stacktrace --->

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
 1: 0xffffb4212f60 node::Abort() [/lib/aarch64-linux-gnu/libnode.so.109]
 2: 0xffffb411e108 void node::FPrintF<>(_IO_FILE*, char const*) [/lib/aarch64-linux-gnu/libnode.so.109]
 3: 0xffffb45971dc v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/lib/aarch64-linux-gnu/libnode.so.109]
 4: 0xffffb45973cc v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/lib/aarch64-linux-gnu/libnode.so.109]
 5: 0xffffb4781fb8  [/lib/aarch64-linux-gnu/libnode.so.109]
 6: 0xffffb4796ba8 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/lib/aarch64-linux-gnu/libnode.so.109]
 7: 0xffffb4773cc0 v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/lib/aarch64-linux-gnu/libnode.so.109]
 8: 0xffffb4774e38 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/lib/aarch64-linux-gnu/libnode.so.109]
 9: 0xffffb4756bfc v8::internal::Factory::NewFillerObject(int, v8::internal::AllocationAlignment, v8::internal::AllocationType, v8::internal::AllocationOrigin) [/lib/aarch64-linux-gnu/libnode.so.109]
10: 0xffffb4b1fd30 v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [/lib/aarch64-linux-gnu/libnode.so.109]
11: 0xffffb44b406c  [/lib/aarch64-linux-gnu/libnode.so.109]

JavaScript (brunerd)

Slice step cannot be zero: [0:3:0]

JavaScript (jsonpath)

step cannot be zero

PHP (galbar-jsonpath)

Error: 'Step cannot be 0'

Perl (JSON-Path)

Illegal modulus zero at build/lib/perl5/JSON/Path/Evaluator.pm line 412, <STDIN> line 1.

Python (jsonpath) ²

ValueError('range() arg 3 must not be zero')

Python (jsonpath-ng)

ValueError('slice step cannot be zero')

Python (jsonpath2)

ValueError('range() arg 3 must not be zero')

Ruby (jsonpath)

step can't be 0

Rust (jsonpath_lib)

panic occurred

Rust (jsonpath_plus)

Error Parsing JSON Path:
$[0:3:0]
panic occurred

Scala (jsonpath)

java.lang.IllegalArgumentException: requirement failed: size=0 and step=0, but both must be positive

dotNET (JsonPathLib)

timeout: sending signal TERM to command ‘build/Dotnet_JsonPathLib’

Footnotes