

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# JSON.ARRINSERT
<a name="json-arrinsert"></a>

Inserisce uno o più valori nei valori dell'array nel percorso che precede l'indice.

Sintassi

```
JSON.ARRINSERT <key> <path> <index> <json> [json ...]
```
+ key (obbligatorio) — chiave del tipo di documento JSON
+ path (obbligatorio) — un percorso JSON
+ index (obbligatorio) — indice dell'array prima del quale vengono inseriti i valori.
+ json (obbligatorio) — Valore JSON da aggiungere all'array

**Valori restituiti**

Se il percorso è una sintassi avanzata:
+ Matrice di numeri interi, che rappresenta la nuova lunghezza dell'array in ogni percorso.
+ Se un valore è un array vuoto, il valore restituito corrispondente è null.
+ Se un valore non è un array, il valore restituito corrispondente è null.
+ Errore `OUTOFBOUNDARIES` se l'argomento indice è fuori dai limiti.

Se il percorso è una sintassi limitata:
+ Numero intero, la nuova lunghezza dell'array.
+ Errore `WRONGTYPE` se il valore nel percorso non è un array.
+ Errore `OUTOFBOUNDARIES` se l'argomento indice è fuori dai limiti.

**Esempi**

 Sintassi avanzata del percorso:

```
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\"]]"
```

 Sintassi limitata del percorso:

```
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\"]]"
```