

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

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

在路徑的 true 和 false 之間切換布林值。

語法

```
JSON.TOGGLE <key> [path] 
```
+ key （必要） – JSON 文件類型的金鑰
+ 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"
```