

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# JSON.ARRLEN
<a name="json-arrlen"></a>

Obtient la longueur des valeurs du tableau au niveau du chemin.

Syntaxe

```
JSON.ARRLEN <key> [path] 
```
+ clé (obligatoire) — Une clé Valkey ou Redis OSS de type document JSON.
+ path (facultatif) : chemin JSON. Par défaut, il s'agit de la racine si elle n'est pas fournie.

**Retour**

Si le chemin est une syntaxe améliorée :
+ Tableau d'entiers qui représentent la longueur du tableau au niveau de chaque chemin.
+ Si une valeur n'est pas un tableau, sa valeur de retour correspondante est nulle.
+ Valeur nulle si la clé du document n'existe pas.

Si le chemin est une syntaxe restreinte :
+ Entier, longueur du tableau.
+ Si plusieurs objets sont sélectionnés, la commande renvoie la longueur du premier tableau.
+ Erreur `WRONGTYPE` si la valeur au niveau du chemin n'est pas un tableau.
+ Erreur `NONEXISTENT JSON` si le chemin n'existe pas.
+ Valeur nulle si la clé du document n'existe pas.

**Exemples**

 Syntaxe de chemin améliorée :

```
127.0.0.1:6379> JSON.SET k1 . '[[], ["a"], ["a", "b"], ["a", "b", "c"]]'
OK
127.0.0.1:6379> JSON.ARRLEN k1 $[*]
1) (integer) 0
2) (integer) 1
3) (integer) 2
4) (integer) 3

127.0.0.1:6379> JSON.SET k2 . '[[], "a", ["a", "b"], ["a", "b", "c"], 4]'
OK
127.0.0.1:6379> JSON.ARRLEN k2 $[*]
1) (integer) 0
2) (nil)
3) (integer) 2
4) (integer) 3
5) (nil)
```

 Syntaxe de chemin restreinte :

```
127.0.0.1:6379> JSON.SET k1 . '[[], ["a"], ["a", "b"], ["a", "b", "c"]]' 
OK 
127.0.0.1:6379> JSON.ARRLEN k1 [*] 
(integer) 0 
127.0.0.1:6379> JSON.ARRLEN k1 [1] 
(integer) 1 
127.0.0.1:6379> JSON.ARRLEN k1 [2] 
(integer) 2

127.0.0.1:6379> JSON.SET k2 . '[[], "a", ["a", "b"], ["a", "b", "c"], 4]' 
OK
127.0.0.1:6379> JSON.ARRLEN k2 [1] 
(error) WRONGTYPE JSON element is not an array 
127.0.0.1:6379> JSON.ARRLEN k2 [0] 
(integer) 0
127.0.0.1:6379> JSON.ARRLEN k2 [6] 
(error) OUTOFBOUNDARIES Array index is out of bounds
127.0.0.1:6379> JSON.ARRLEN k2 a.b 
(error) NONEXISTENT JSON path does not exist
```