JSON.STRAPPEND
パスの JSON 文字列に文字列を追加します。
構文
JSON.STRAPPEND <key> [path] <json_string>
キー (必須) - JSON ドキュメントタイプのキー
パス「オプショナル」– JSON パス。指定しない場合、デフォルトでルートになります
json_string (必須) — 文字列の JSON 表現。JSON 文字列は引用符で囲む ("foo") 必要があることに注意してください。
戻る
パスが拡張構文の場合:
各パスの文字列の新しい長さを表す整数の配列。
-
パスの値が文字列でない場合、対応する戻り値は 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