

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# JSON.TOGGLE
<a name="json-toggle"></a>

Fait basculer les valeurs booléennes entre vrai et faux au niveau du chemin.

Syntaxe

```
JSON.TOGGLE <key> [path] 
```
+ clé (obligatoire) — Une clé Valkey ou Redis OSS de type document JSON.
+ path (facultatif) : chemin JSON. Par défaut, il s'agit de la racine si elle n'est pas fournie.

**Retour**

Si le chemin est une syntaxe améliorée :
+ Tableau d'entiers (0 - faux, 1 - vrai) qui représentent la valeur booléenne résultante au niveau de chaque chemin.
+ Si une valeur n'est pas une valeur booléenne, sa valeur de retour correspondante est nulle.
+ `NONEXISTENT` si la clé du document n'existe pas.

Si le chemin est une syntaxe restreinte :
+ Chaîne (« vrai »/« faux ») qui représente la valeur booléenne résultante.
+ `NONEXISTENT` si la clé du document n'existe pas.
+ Erreur `WRONGTYPE` si la valeur au niveau du chemin n'est pas une valeur booléenne.

**Exemples**

 Syntaxe de chemin améliorée :

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

 Syntaxe de chemin restreinte :

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