

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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

Procura a primeira ocorrência de um valor escalar JSON nas matrizes no caminho.
+ Erros fora do intervalo são tratados arredondando o índice para o início e o fim da matriz.
+ Se início > fim, retorna -1 (não encontrado).

Sintaxe

```
JSON.ARRINDEX <key> <path> <json-scalar> [start [end]]
```
+ key (obrigatório): chave do tipo de documento JSON
+ path (obrigatório): um caminho JSON
+ json-scalar (obrigatório): valor escalar a ser pesquisado; escalar JSON se refere a valores que não são objetos ou matrizes. Ou seja, String, number, boolean e null são valores escalares.
+ início (opcional): o índice inicial, inclusive. Assumirá o padrão de 0 se não for fornecido.
+ fim (opcional): o índice final, exclusivo. Assumirá o padrão de 0 se não for fornecido, significa que o último elemento está incluído. 0 ou -1 significa que o último elemento está incluído.

**Return**

Se o caminho for uma sintaxe aprimorada:
+ Matriz de números inteiros. Cada valor é o índice do elemento correspondente na matriz no caminho. O valor é -1, se não encontrado.
+ Se um valor não for uma matriz, seu valor de retorno correspondente será nulo.

Se o caminho for uma sintaxe restrita:
+ Inteiro, o índice do elemento correspondente ou -1 se não for encontrado.
+ Erro `WRONGTYPE` se o valor no caminho não for uma matriz.

**Exemplos**

 Sintaxe do caminho aprimorada:

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

 Sintaxe do caminho restrita:

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