

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.ARRINDEX
<a name="json-arrindex"></a>

Cerca la prima ricorrenza di un valore JSON scalare negli array nel percorso.
+ Gli errori “fuori intervallo” vengono gestiti arrotondando l'indice all'inizio e alla fine dell'array.
+ Se l’inizio è maggiore della fine, restituisce -1 (non trovato).

Sintassi

```
JSON.ARRINDEX <key> <path> <json-scalar> [start [end]]
```
+ key (obbligatorio) — Una chiave Valkey o Redis OSS di tipo documento JSON.
+ path (richiesto) – Un percorso JSON.
+ json-scalar (richiesto) —Il valore scalare per cercare. Lo scalare JSON si riferisce a valori diversi da oggetti o array. Vale a dire che stringa, numero, booleano e null sono valori scalari.
+ start (facoltativo) – L’indice start, incluso. Se non è fornito, viene utilizzata l’impostazione predefinita, 0.
+ end (facoltativo) – L’indice end, escluso. Se non è fornito, viene utilizzata l’impostazione predefinita, 0, cioè viene incluso l'ultimo elemento. 0 o -1 significa che è incluso l'ultimo elemento.

**Valori restituiti**

Se il percorso è una sintassi avanzata:
+ Array di numeri interi. Ogni valore è l'indice dell'elemento corrispondente nell'array nel percorso. Se non viene trovato, il valore è -1.
+ Se un valore non è un array, il valore restituito corrispondente è null.

Se il percorso è una sintassi limitata:
+ Numero intero, l'indice dell'elemento corrispondente o -1 se non viene trovato.
+ Errore `WRONGTYPE` se il valore nel percorso non è un array.

**Examples** (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.ARRINDEX k1 $[*] '"b"'
1) (integer) -1
2) (integer) -1
3) (integer) 1
4) (integer) 1
```

 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.ARRINDEX k1 .children '"Tom"'
(integer) 2
```