

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# JSON.ARRPOP
<a name="json-arrpop"></a>

배열에서 인덱스의 요소를 제거하고 반환합니다. 빈 배열을 팝하면 null이 반환됩니다.

구문

```
JSON.ARRPOP <key> [path [index]]
```
+ 키(필수) - JSON 문서 유형의 키입니다.
+ 경로(선택 사항) - JSON 경로입니다. 제공하지 않으면 기본적으로 root로 설정됩니다.
+ 인덱스(선택 사항) - 팝업을 시작할 배열의 위치입니다.
  + 제공되지 않으면 기본적으로 마지막 요소를 의미하는 -1로 설정됩니다.
  + 음수 값은 마지막 요소의 위치를 의미합니다.
  + 경계를 벗어난 인덱스는 각각의 배열 경계로 반올림됩니다.

**반환**

경로가 향상된 구문인 경우
+ 각 경로에서 팝된 값을 나타내는 대량 문자열 배열입니다.
+ 값이 빈 배열인 경우 해당 반환 값은 null입니다.
+ 값이 배열이 아닌 경우 해당 반환 값은 null입니다.

경로가 제한된 구문인 경우
+ 대량 문자열, 팝된 JSON 값을 나타냅니다.
+ 배열인 비어 있는 경우 null입니다.
+ 경로의 값이 배열이 아닌 경우 `WRONGTYPE` 오류가 발생합니다.

**예**

 향상된 경로 구문.

```
127.0.0.1:6379> JSON.SET k1 . '[[], ["a"], ["a", "b"]]'
OK
127.0.0.1:6379> JSON.ARRPOP k1 $[*]
1) (nil)
2) "\"a\""
3) "\"b\""
127.0.0.1:6379> JSON.GET k1
"[[],[],[\"a\"]]"
```

 제한된 경로 구문.

```
127.0.0.1:6379> JSON.SET k1 . '[[], ["a"], ["a", "b"]]'
OK
127.0.0.1:6379> JSON.ARRPOP k1
"[\"a\",\"b\"]"
127.0.0.1:6379> JSON.GET k1
"[[],[\"a\"]]"

127.0.0.1:6379> JSON.SET k2 . '[[], ["a"], ["a", "b"]]'
OK
127.0.0.1:6379> JSON.ARRPOP k2 . 0
"[]"
127.0.0.1:6379> JSON.GET k2
"[[\"a\"],[\"a\",\"b\"]]"
```