content/commands/json.arrlen.md
Report the length of the JSON array at path in key
is key to parse.
</details>is JSONPath to specify. Default is root $, if not provided. Returns null if the key or path do not exist.
Create a document for wireless earbuds.
{{< highlight bash >}} redis> 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]}' OK {{< / highlight >}}
Find lengths of arrays in all objects of the document.
{{< highlight bash >}} redis> JSON.ARRLEN item:2 '$.[*]'
Return the length of the max_level array.
{{< highlight bash >}} redis> JSON.ARRLEN item:2 '$..max_level'
Get all the maximum level values.
{{< highlight bash >}} redis> JSON.GET item:2 '$..max_level' "[[80,100,120]]" {{< / highlight >}}
</details>| Redis Software | Redis Cloud | <span style="min-width: 9em; display: table-cell">Notes</span> | |:----------------------|:-----------------|:------| | <span title="Supported">✅ Supported</span> | <span title="Supported">✅ Flexible & Annual</span> <span title="Supported">✅ Free & Fixed</nobr></span> | |
{{< multitabs id="json-arrlen-return-info" tab1="RESP2" tab2="RESP3" >}}
With $-based path argument: [Array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) of [integer replies]({{< relref "/develop/reference/protocol-spec#integers" >}}) or [null replies]({{< relref "/develop/reference/protocol-spec#nulls" >}}), where each element is the array length, or null if the matching value is not an array.
With .-based path argument: [Integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}) representing the array length, or [null reply]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the matching value is not an array.
-tab-sep-
With $-based path argument (default): [Array reply]({{< relref "/develop/reference/protocol-spec#arrays" >}}) of [integer replies]({{< relref "/develop/reference/protocol-spec#integers" >}}) or [null replies]({{< relref "/develop/reference/protocol-spec#nulls" >}}), where each element is the array length, or null if the matching value is not an array.
With .-based path argument: [Integer reply]({{< relref "/develop/reference/protocol-spec#integers" >}}) representing the array length, or [null reply]({{< relref "/develop/reference/protocol-spec#nulls" >}}) if the matching value is not an array.
{{< /multitabs >}}
[JSON.ARRINDEX]({{< relref "commands/json.arrindex/" >}}) | [JSON.ARRINSERT]({{< relref "commands/json.arrinsert/" >}})