- 用法
-
JSON.ARRINDEX key path json-scalar [ start ] [ end ]
- 复杂度
- O(N),其中 N 是数组的长度。
- 模块
- valkey-json
- 自模块版本
- 1.0.0
- ACL 类别
- @read, @fast, @json
- 超出范围的错误通过将索引四舍五入到数组的开始和结束位置来处理。
- 如果 start > end,则返回 -1(未找到)。
-
如果路径是增强语法
-
如果路径是受限语法
- 整数回复:匹配元素的索引,如果未找到则为 -1。
-
-
如果路径不存在。
-
如果路径上的值不是数组(仅限受限语法)。
-
在给定路径的数组中查找标量 JSON 值首次出现的位置。
示例
增强路径语法
127.0.0.1:6379> JSON.SET k1 . '[[], ["a"], ["a", "b"], ["a", "b", "c"]]'
OK
127.0.0.1:6379> JSON.ARRINDEX k1 $[*] '"b"'
1) (integer) -1
2) (integer) -1
3) (integer) 1
4) (integer) 1
受限路径语法
127.0.0.1:6379> JSON.SET k1 . '{"children": ["John", "Jack", "Tom", "Bob", "Mike"]}'
OK
127.0.0.1:6379> JSON.ARRINDEX k1 .children '"Tom"'
(integer) 2