JSON.RESP - Amazon ElastiCache

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

JSON.RESP

傳回 Valkey 或 Redis OSS 序列化通訊協定 () 中指定路徑JSON的值RESP。如果值為容器,則回應為RESP陣列或巢狀陣列。

  • JSON null 會映射至 RESP Null 大量字串。

  • JSON 布林值會對應至個別的 RESP Simple Strings。

  • 整數編號會映射至RESP整數。

  • 64 位元IEEE雙浮點數會映射至RESP大量字串。

  • JSON 字串會映射到RESP大量字串。

  • JSON 陣列會以RESP陣列表示,其中第一個元素是簡單的字串 【,後面接著陣列的元素。

  • JSON 物件以RESP陣列表示,其中第一個元素是簡單字串 {,後面接著鍵值對,每個都是RESP大量字串。

語法

JSON.RESP <key> [path]
  • 金鑰 (必要) – JSON 文件類型的 Valkey 或 Redis OSS金鑰。

  • 路徑 (選用) – JSON 路徑。如果未提供,則預設為根。

傳回

如果路徑是增強型語法:

  • 陣列的陣列。每個陣列元素代表一個路徑上值RESP的形式。

  • 如果沒有文件索引鍵,則為空陣列。

如果路徑是受限語法:

  • 陣列,代表路徑中值RESP的形式。

  • 如果沒有文件索引鍵,則為 null。

範例

增強型路徑語法:

127.0.0.1:6379> JSON.SET k1 . '{"firstName":"John","lastName":"Smith","age":27,"weight":135.25,"isAlive":true,"address":{"street":"21 2nd Street","city":"New York","state":"NY","zipcode":"10021-3100"},"phoneNumbers":[{"type":"home","number":"212 555-1234"},{"type":"office","number":"646 555-4567"}],"children":[],"spouse":null}' OK 127.0.0.1:6379> JSON.RESP k1 $.address 1) 1) { 2) 1) "street" 2) "21 2nd Street" 3) 1) "city" 2) "New York" 4) 1) "state" 2) "NY" 5) 1) "zipcode" 2) "10021-3100" 127.0.0.1:6379> JSON.RESP k1 $.address.* 1) "21 2nd Street" 2) "New York" 3) "NY" 4) "10021-3100" 127.0.0.1:6379> JSON.RESP k1 $.phoneNumbers 1) 1) [ 2) 1) { 2) 1) "type" 2) "home" 3) 1) "number" 2) "555 555-1234" 3) 1) { 2) 1) "type" 2) "office" 3) 1) "number" 2) "555 555-4567" 127.0.0.1:6379> JSON.RESP k1 $.phoneNumbers[*] 1) 1) { 2) 1) "type" 2) "home" 3) 1) "number" 2) "212 555-1234" 2) 1) { 2) 1) "type" 2) "office" 3) 1) "number" 2) "555 555-4567"

受限路徑語法:

127.0.0.1:6379> JSON.SET k1 . '{"firstName":"John","lastName":"Smith","age":27,"weight":135.25,"isAlive":true,"address":{"street":"21 2nd Street","city":"New York","state":"NY","zipcode":"10021-3100"},"phoneNumbers":[{"type":"home","number":"212 555-1234"},{"type":"office","number":"646 555-4567"}],"children":[],"spouse":null}' OK 127.0.0.1:6379> JSON.RESP k1 .address 1) { 2) 1) "street" 2) "21 2nd Street" 3) 1) "city" 2) "New York" 4) 1) "state" 2) "NY" 5) 1) "zipcode" 2) "10021-3100" 127.0.0.1:6379> JSON.RESP k1 1) { 2) 1) "firstName" 2) "John" 3) 1) "lastName" 2) "Smith" 4) 1) "age" 2) (integer) 27 5) 1) "weight" 2) "135.25" 6) 1) "isAlive" 2) true 7) 1) "address" 2) 1) { 2) 1) "street" 2) "21 2nd Street" 3) 1) "city" 2) "New York" 4) 1) "state" 2) "NY" 5) 1) "zipcode" 2) "10021-3100" 8) 1) "phoneNumbers" 2) 1) [ 2) 1) { 2) 1) "type" 2) "home" 3) 1) "number" 2) "212 555-1234" 3) 1) { 2) 1) "type" 2) "office" 3) 1) "number" 2) "555 555-4567" 9) 1) "children" 2) 1) [ 10) 1) "spouse" 2) (nil)