

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.ARRTRIM
<a name="json-arrtrim"></a>

Taglia gli array sul percorso in modo che diventi un sottoarray [start, end], entrambi inclusi.
+ Se l'array è vuoto, non eseguire nulla, restituire 0.
+ Se start <0, considerarlo come 0.
+ Se end >= size (dimensione dell’array), considerarlo comesize-1.
+ Se start >= size o start > end, svuotare l'array e restituire 0.

Sintassi

```
JSON.ARRINSERT <key> <path> <start> <end>
```
+ key (obbligatorio) — chiave del tipo di documento JSON
+ path (obbligatorio) — un percorso JSON
+ start (obbligatorio) — indice iniziale, incluso.
+ end (obbligatorio) — indice finale, incluso.

**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 un argomento indice è fuori dai limiti.

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

**Esempi**

 Sintassi avanzata del percorso:

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

 Sintassi limitata del percorso:

```
127.0.0.1:6379> JSON.SET k1 . '{"children": ["John", "Jack", "Tom", "Bob", "Mike"]}'
OK
127.0.0.1:6379> JSON.ARRTRIM k1 .children 0 1
(integer) 2
127.0.0.1:6379> JSON.GET k1 .children
"[\"John\",\"Jack\"]"
```