JSON.STRAPPEND - Amazon ElastiCache (雷迪OSS斯)

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

JSON.STRAPPEND

將字串附加到路徑上的 JSON 字串。

語法

JSON.STRAPPEND <key> [path] <json_string>
  • 金鑰 (必要) — JSON 文件類型的 Redis 作業系統金鑰。

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

  • json_string (必要) – 字串的 JSON 表示法。請注意,JSON 字串必須加上英文引號。例如:'"string example"'。

傳回

如果路徑是增強型語法:

  • 整數陣列代表字串在每個路徑的新長度。

  • 如果路徑上的值不是字符串,則其對應的傳回值為 null。

  • 如果輸入 json 引數不是有效 JSON 字串,會發生 SYNTAXERR 錯誤。

  • 如果沒有路徑,會發生 NONEXISTENT 錯誤。

如果路徑是受限語法:

  • 整數,字串的新長度。

  • 如果選取多個字串值,該命令會傳回上次所更新字串的新長度。

  • 如果路徑上的值不是字串,會發生 WRONGTYPE 錯誤。

  • 如果輸入 json 引數不是有效 JSON 字串,會發生 WRONGTYPE 錯誤。

  • 如果沒有路徑,會發生 NONEXISTENT 錯誤。

範例

增強型路徑語法:

127.0.0.1:6379> JSON.SET k1 $ '{"a":{"a":"a"}, "b":{"a":"a", "b":1}, "c":{"a":"a", "b":"bb"}, "d":{"a":1, "b":"b", "c":3}}' OK 127.0.0.1:6379> JSON.STRAPPEND k1 $.a.a '"a"' 1) (integer) 2 127.0.0.1:6379> JSON.STRAPPEND k1 $.a.* '"a"' 1) (integer) 3 127.0.0.1:6379> JSON.STRAPPEND k1 $.b.* '"a"' 1) (integer) 2 2) (nil) 127.0.0.1:6379> JSON.STRAPPEND k1 $.c.* '"a"' 1) (integer) 2 2) (integer) 3 127.0.0.1:6379> JSON.STRAPPEND k1 $.c.b '"a"' 1) (integer) 4 127.0.0.1:6379> JSON.STRAPPEND k1 $.d.* '"a"' 1) (nil) 2) (integer) 2 3) (nil)

受限路徑語法:

127.0.0.1:6379> JSON.SET k1 . '{"a":{"a":"a"}, "b":{"a":"a", "b":1}, "c":{"a":"a", "b":"bb"}, "d":{"a":1, "b":"b", "c":3}}' OK 127.0.0.1:6379> JSON.STRAPPEND k1 .a.a '"a"' (integer) 2 127.0.0.1:6379> JSON.STRAPPEND k1 .a.* '"a"' (integer) 3 127.0.0.1:6379> JSON.STRAPPEND k1 .b.* '"a"' (integer) 2 127.0.0.1:6379> JSON.STRAPPEND k1 .c.* '"a"' (integer) 3 127.0.0.1:6379> JSON.STRAPPEND k1 .c.b '"a"' (integer) 4 127.0.0.1:6379> JSON.STRAPPEND k1 .d.* '"a"' (integer) 2