本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
JSON.TOGGLE
在路径的 true 和 false 之间切换布尔值。
语法
JSON.TOGGLE <key> [path]
密钥(必填)— JSON 文档类型的 Valkey 或 Redis OSS 密钥。
路径(可选)-JSON 路径。如果未提供,则默认为根目录。
Return
如果路径是增强的语法:
表示每个路径的结果布尔值的整数数组 (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"