

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# JSON.ARRAPPEND
<a name="json-arrappend"></a>

將一或多個值附加到路徑中的陣列值。

語法

```
JSON.ARRAPPEND <key> <path> <json> [json ...]
```
+ key （必要） – JSON 文件類型的 Valkey 或 Redis OSS 金鑰。
+ path (必要) – JSON 路徑。
+ json (必要) – 要附加至陣列的 JSON 值。

**傳回**

如果路徑是增強型語法：
+ 整數陣列代表每個路徑的新陣列長度。
+ 如果值不是陣列，其相應的傳回值為 null。
+ 如果沒有路徑，會發生 `NONEXISTENT` 錯誤。

如果路徑是受限語法：
+ 整數，新陣列長度。
+ 如果選取多個陣列值，命令會傳回第一個更新陣列的新長度。
+ 如果路徑上的值不是陣列，會發生 `WRONGTYPE` 錯誤。
+ 如果輸入 json 引數之一不是有效的 JSON 字串，會發生 `SYNTAXERR` 錯誤。
+ 如果沒有路徑，會發生 `NONEXISTENT` 錯誤。

**範例**

 增強型路徑語法：

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

 受限路徑語法：

```
127.0.0.1:6379> JSON.SET k1 . '[[], ["a"], ["a", "b"]]'
OK
127.0.0.1:6379> JSON.ARRAPPEND  k1 [-1] '"c"'
(integer) 3
127.0.0.1:6379> JSON.GET k1
"[[],[\"a\"],[\"a\",\"b\",\"c\"]]"
```