本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
JSON.STRAPPEND
將字串附加至路徑的JSON字串。
語法
JSON.STRAPPEND <key> [path] <json_string>
金鑰 (必要) – JSON 文件類型的金鑰
路徑 (選用) – JSON 路徑。如果未提供,則預設為根
json_string (必要) – 字串的JSON表示法。請注意,必須引用JSON字串,即 '"foo"'。
傳回
如果路徑是增強型語法:
整數陣列,代表每個路徑上字串的新長度。
-
如果路徑上的值不是字符串,則其對應的傳回值為 null。
SYNTAXERR
如果輸入 json 引數不是有效的JSON字串,則會出現錯誤。NONEXISTENT
如果路徑不存在則發生錯誤。
如果路徑是受限語法:
整數,字串的新長度。
如果選取多個字串值,該命令會傳回上次所更新字串的新長度。
-
如果路徑上的值不是字串,會發生
WRONGTYPE
錯誤。 -
WRONGTYPE
如果輸入 json 引數不是有效的JSON字串,則會出現錯誤。 -
如果沒有路徑,會發生
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