

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# JSON.MSET
<a name="json-mset"></a>

Didukung untuk Valkey versi 8.1 dan di atas.

Tetapkan nilai JSON untuk beberapa kunci. Operasi adalah atom. Entah semua nilai ditetapkan atau tidak ada yang disetel.

**Sintaksis**

```
JSON.MSET key path json [ key path json ... ]
```
+ Jika jalur memanggil anggota objek:
  + Jika elemen induk tidak ada, perintah akan mengembalikan kesalahan NONEXISTENT.
  + Jika elemen induk ada tetapi bukan objek, perintah akan mengembalikan ERROR.
  + Jika elemen induk ada dan merupakan objek:
    + Jika anggota tidak ada, anggota baru akan ditambahkan ke objek induk jika dan hanya jika objek induk adalah turunan terakhir di jalur. Jika tidak, perintah akan mengembalikan kesalahan NONEXISTENT.
    + Jika anggota ada, nilainya akan diganti dengan nilai JSON.
+ Jika jalur memanggil indeks array:
  + Jika elemen induk tidak ada, perintah akan mengembalikan kesalahan NONEXISTENT.
  + Jika elemen induk ada tetapi bukan array, perintah akan mengembalikan ERROR.
  + Jika elemen induk ada tetapi indeks di luar batas, perintah akan mengembalikan kesalahan OUTOFBORDIES.
  + Jika elemen induk ada dan indeks valid, elemen akan diganti dengan nilai JSON baru.
+ Jika jalur memanggil objek atau array, nilai (objek atau array) akan digantikan oleh nilai JSON baru.

**Nilai yang ditampilkan**
+ Balasan string sederhana: 'OK' jika operasi berhasil.
+ Balasan kesalahan sederhana: Jika operasi gagal.

**Contoh**

Sintaksis jalur yang ditingkatkan:

```
127.0.0.1:6379> JSON.MSET k1 . '[1,2,3,4,5]' k2 . '{"a":{"a":1, "b":2, "c":3}}' k3 . '{"a": [1,2,3,4,5]}'
OK
127.0.0.1:6379> JSON.GET k1
"[1,2,3,4,5]"
127.0.0.1:6379> JSON.GET k2
"{\"a\":{\"a\":1,\"b\":2,\"c\":3}}"
127.0.0.1:6379> JSON.MSET k2 $.a.* '0' k3 $.a[*] '0'
OK
127.0.0.1:6379> JSON.GET k2
"{\"a\":{\"a\":0,\"b\":0,\"c\":0}}"
127.0.0.1:6379> JSON.GET k3
"{\"a\":[0,0,0,0,0]}"
```

Sintaksis jalur terbatas:

```
127.0.0.1:6379> JSON.MSET k1 . '{"name": "John","address": {"street": "123 Main St","city": "Springfield"},"phones": ["555-1234","555-5678"]}'
OK
127.0.0.1:6379> JSON.MSET k1 .address.street '"21 2nd Street"' k1 .address.city '"New York"'
OK
127.0.0.1:6379> JSON.GET k1 .address.street
"\"21 2nd Street\""
127.0.0.1:6379> JSON.GET k1 .address.city
"\"New York\""
```