

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

在路徑上將布林值切換為 true 或 false。

語法

```
JSON.TOGGLE <key> [path] 
```
+ key （必要） – JSON 文件類型的 Valkey 或 Redis OSS 金鑰。
+ path (選用) – JSON 路徑。如果未提供，則預設為根。

**傳回**

如果路徑是增強型語法：
+ 整數陣列 (0 - false，1 - true)，代表每個路徑上產生的布林值。
+ 如果值不是布林值，其對應的傳回值為 null。
+ 如果沒有文件索引鍵，則為 `NONEXISTENT`。

如果路徑是受限語法：
+ 字串 ("true" / "false")，代表產生的布林值。
+ 如果沒有文件索引鍵，則為 `NONEXISTENT`。
+ 如果路徑上的值不是布林值，會發生 `WRONGTYPE` 錯誤。

**範例**

 增強型路徑語法：

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

 受限路徑語法：

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