本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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