JSON.ARRLEN

Syntax

  1. JSON.ARRLEN key [path]

Time complexity: O(1) where path is evaluated to a single value, O(N) where path is evaluated to multiple values, where N is the size of the key

Report the length of the JSON array at path in key

Examples

Required arguments

key

is key to parse.

Optional arguments

path

is JSONPath to specify. Default is root $, if not provided. Returns null if the key or path do not exist.

Return

JSON.ARRLEN returns an array of integer replies, an integer for each matching value, each is the array’s length, or nil, if the matching value is not an array. For more information about replies, see Redis serialization protocol specification.

Examples

Get lengths of JSON arrays in a document

Create a document for wireless earbuds.

  1. dragonfly> JSON.SET item:2 $ '{"name":"Wireless earbuds","description":"Wireless Bluetooth in-ear headphones","connection":{"wireless":true,"type":"Bluetooth"},"price":64.99,"stock":17,"colors":["black","white"], "max_level":[80, 100, 120]}'
  2. OK

Find lengths of arrays in all objects of the document.

  1. dragonfly> JSON.ARRLEN item:2 '$.*'
  2. 1) (nil)
  3. 2) (nil)
  4. 3) (nil)
  5. 4) (nil)
  6. 5) (nil)
  7. 6) (integer) 2
  8. 7) (integer) 3

Return the length of the max_level array.

  1. dragonfly> JSON.ARRLEN item:2 '$..max_level'
  2. 1) (integer) 3

Get all the maximum level values.

  1. dragonfly> JSON.GET item:2 '$..max_level'
  2. "[[80,100,120]]"

See also

JSON.ARRINDEX | JSON.ARRINSERT