JSON.ARRLEN
语法
JSON.ARRLEN key [path]
- 可用版本
- Redis 开源版 / JSON 1.0.0
- 时间复杂度
- 路径计算为单个值时为 O(1),路径计算为多个值时为 O(N),其中 N 是键的大小
- ACL 类别
-
@json,@read,@slow,
报告键 key 中 path 路径上的 JSON 数组长度
必需参数
key
要解析的键。
可选参数
path
要指定的 JSONPath。如果未提供,默认为根路径 $。如果 key 或 path 不存在,则返回 null。
返回值
JSON.ARRLEN 返回一个由整数回复组成的数组,每个匹配值对应一个整数,该整数是数组的长度;如果匹配值不是数组,则返回 nil。有关回复的更多信息,请参阅Redis 序列化协议规范。
示例
获取文档中 JSON 数组的长度
创建一个无线耳机文档。
redis> JSON.SET item:2 $ '{"name":"Wireless earbuds","description":"Wireless Bluetooth in-ear headphones","connection":{"wireless":true,"type":"Bluetooth"},"price":64.99,"stock":17,"colors":["black","white"], "max_level":[80, 100, 120]}'
OK查找文档中所有对象的数组长度。
redis> JSON.ARRLEN item:2 '$.[*]'
1) (nil)
2) (nil)
3) (nil)
4) (nil)
5) (nil)
6) (integer) 2
7) (integer) 3返回 max_level 数组的长度。
redis> JSON.ARRLEN item:2 '$..max_level'
1) (integer) 3获取所有最大级别的值。
redis> JSON.GET item:2 '$..max_level'
"[[80,100,120]]"另请参阅
JSON.ARRINDEX | JSON.ARRINSERT