

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.TOGGLE
<a name="json-toggle"></a>

Alterna valores booleanos entre verdadeiro e falso no caminho.

Sintaxe

```
JSON.TOGGLE <key> [path] 
```
+ key (obrigatório): chave do tipo de documento JSON
+ path (opcional): um caminho JSON. Assumirá o padrão da raiz se não for fornecido

**Return**

Se o caminho for uma sintaxe aprimorada:
+ Matriz de inteiros (0 - falso, 1 - verdadeiro) que representam o valor booleano resultante em cada caminho.
+ Se um valor for um não booleano, seu valor de retorno correspondente será null.
+ `NONEXISTENT` se a chave do documento não existir.

Se o caminho for uma sintaxe restrita:
+ String (“verdadeiro”/“falso”) que representa o valor booleano resultante.
+ `NONEXISTENT` se a chave do documento não existir.
+ Erro `WRONGTYPE` se o valor no caminho não for um valor booleano.

**Exemplos**

 Sintaxe do caminho aprimorada:

```
127.0.0.1:6379> JSON.SET k1 . '{"a":true, "b":false, "c":1, "d":null, "e":"foo", "f":[], "g":{}}'
OK
127.0.0.1:6379> JSON.TOGGLE k1 $.*
1) (integer) 0
2) (integer) 1
3) (nil)
4) (nil)
5) (nil)
6) (nil)
7) (nil)
127.0.0.1:6379> JSON.TOGGLE k1 $.*
1) (integer) 1
2) (integer) 0
3) (nil)
4) (nil)
5) (nil)
6) (nil)
7) (nil)
```

 Sintaxe do caminho restrita:

```
127.0.0.1:6379> JSON.SET k1 . true
OK
127.0.0.1:6379> JSON.TOGGLE k1
"false"
127.0.0.1:6379> JSON.TOGGLE k1
"true"

127.0.0.1:6379> JSON.SET k2 . '{"isAvailable": false}'
OK
127.0.0.1:6379> JSON.TOGGLE k2 .isAvailable
"true"
127.0.0.1:6379> JSON.TOGGLE k2 .isAvailable
"false"
```