기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
JSON.ARRINDEX
경로의 배열에서 처음 나타나는 스칼라 JSON 값을 검색합니다.
범위를 벗어난 오류는 인덱스를 배열의 시작과 끝으로 반올림하여 처리됩니다.
시작 > 끝이면 -1(찾을 수 없음)을 반환합니다.
구문
JSON.ARRINDEX <key> <path> <json-scalar> [start [end]]
키 (필수) — JSON 문서 유형의 레디 스 OSS 키입니다.
경로(필수) - JSON 경로입니다.
json-scalar(필수) - 검색 대상인 스칼라 값입니다. JSON 스칼라는 객체나 배열이 아닌 값을 참조합니다. 즉, 문자열, 숫자, 부울 및 null은 스칼라 값입니다.
시작(선택 사항) - 시작 인덱스는 포괄적입니다. 제공하지 않으면 기본적으로 0으로 설정됩니다.
끝(선택 사항) - 끝 인덱스는 배타적입니다. 제공되지 않은 경우 기본적으로 0으로 설정됩니다. 즉, 마지막 요소가 포함된다는 의미입니다. 0 또는 -1은 마지막 요소가 포함되었음을 의미합니다.
반환
경로가 향상된 구문인 경우
정수 배열입니다. 각 값은 경로에 있는 배열에서 일치하는 요소의 인덱스입니다. 발견되지 않은 경우 값은 -1입니다.
-
값이 배열이 아닌 경우 해당 반환 값은 null입니다.
경로가 제한된 구문인 경우
정수이며, 일치하는 요소의 인덱스입니다. 또는 찾을 수 없는 경우 -1입니다.
-
경로의 값이 배열이 아닌 경우
WRONGTYPE
오류가 발생합니다.
예
향상된 경로 구문.
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