

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.ARRINSERT
<a name="json-arrinsert"></a>

Insère une ou plusieurs valeurs dans le tableau des valeurs au niveau du chemin avant l'index.

Syntaxe

```
JSON.ARRINSERT <key> <path> <index> <json> [json ...]
```
+ clé (obligatoire) — Une clé Valkey ou Redis OSS de type document JSON.
+ path (obligatoire) : chemin JSON.
+ index (obligatoire) – Un index de tableau avant lequel les valeurs sont insérées.
+ json (obligatoire) : valeur JSON à ajouter au tableau.

**Retour**

Si le chemin est une syntaxe améliorée :
+ Tableau d'entiers qui représentent la nouvelle longueur du tableau au niveau de chaque chemin.
+ Si une valeur est un tableau vide, sa valeur de retour correspondante est nulle.
+ Si une valeur n'est pas un tableau, sa valeur de retour correspondante est nulle.
+ Erreur `OUTOFBOUNDARIES` si l'argument index est hors limites.

Si le chemin est une syntaxe restreinte :
+ Entier, la nouvelle longueur du tableau.
+ Erreur `WRONGTYPE` si la valeur au niveau du chemin n'est pas un tableau.
+ Erreur `OUTOFBOUNDARIES` si l'argument index est hors limites.

**Exemples**

 Syntaxe de chemin améliorée :

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

 Syntaxe de chemin restreinte :

```
127.0.0.1:6379> JSON.SET k1 . '[[], ["a"], ["a", "b"]]'
OK
127.0.0.1:6379> JSON.ARRINSERT k1 . 0 '"c"'
(integer) 4
127.0.0.1:6379> JSON.GET k1
"[\"c\",[],[\"a\"],[\"a\",\"b\"]]"
```