翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
JSON.ARRINDEX
パスの配列でスカラーJSON値の最初の出現を検索します。
範囲外のエラーは、インデックスを配列の開始と終了に丸めることによって処理されます。
start > end の場合は、-1 (見つからない) を返します。
構文
JSON.ARRINDEX <key> <path> <json-scalar> [start [end]]
key (必須) – JSONドキュメントタイプのキー
path (必須) – JSONパス
json-scalar (必須) – 検索するスカラー値。JSONスカラーは、オブジェクトや配列ではない値を指します。つまり、文字列、数値、ブール値、null はスカラー値です。
開始 「オプショナル」– 開始インデックス、インクルーシブ。 指定しない場合、デフォルトで 0 になります。
終了「オプショナル」 – 終了インデックス、エクスクルーシブ。指定しない場合、デフォルトで 0 になります。したがって、最後の要素が含まれます。0 または -1 は、最後の要素が含まれることを意味します。
戻る
パスが拡張構文の場合:
整数の配列。各値は、パスの配列の一致する要素のインデックスです。見つからない場合の値は -1 です。
-
値が配列でない場合、対応する戻り値は null です。
パスが制限構文の場合:
整数、一致する要素のインデックス。見つからない場合は -1。
-
パスの値が配列でない場合は、
WRONGTYPE
エラーになります。
例
拡張パス構文:
127.0.0.1:6379> JSON.SET k1 . '[[], ["a"], ["a", "b"], ["a", "b", "c"]]' OK 127.0.0.1:6379> JSON.ARRINDEX k1 $[*] '"b"' 1) (integer) -1 2) (integer) -1 3) (integer) 1 4) (integer) 1
制限パス構文:
127.0.0.1:6379> JSON.SET k1 . '{"children": ["John", "Jack", "Tom", "Bob", "Mike"]}' OK 127.0.0.1:6379> JSON.ARRINDEX k1 .children '"Tom"' (integer) 2