

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# JSON.ARRINDEX
<a name="json-arrindex"></a>

Busca la primera aparición de un valor JSON escalar en las matrices de la ruta.
+ Los errores fuera de rango se tratan redondeando el índice al principio y al final de la matriz.
+ Si inicio > fin, devuelve -1 (no encontrado).

Sintaxis

```
JSON.ARRINDEX <key> <path> <json-scalar> [start [end]]
```
+ clave (obligatorio): clave del tipo de documento JSON
+ ruta (obligatoria): ruta JSON
+ json-scalar (obligatorio): valor escalar que se debe buscar; el escalar JSON hace referencia a valores que no son objetos ni matrices. Es decir, las cadenas, números, booleanos y el valor nulo son escalares.
+ inicio (opcional): índice de inicio, inclusivo. Toma 0 como valor predeterminado si no se proporciona.
+ final (opcional): índice de final, exclusivo. Toma 0 como valor predeterminado si no se proporciona, lo que significa que se incluye el último elemento. 0 o -1 significa que se incluye el último elemento.

**Devolución**

Si la ruta es de sintaxis mejorada:
+ Matriz de números enteros. Cada valor es el índice del elemento coincidente de la matriz en la ruta. El valor es -1 si no se encuentra.
+ Si un valor no es una matriz, su valor devuelto correspondiente es nulo.

Si la ruta es de sintaxis restringida:
+ Entero, el índice del elemento coincidente o -1 si no se encuentra.
+ Error `WRONGTYPE` si el valor de la ruta no es una matriz.

**Ejemplos**

 Sintaxis de la ruta mejorada:

```
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
```

 Sintaxis de la ruta restringida:

```
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
```