

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# JSON.ARRINDEX
<a name="json-arrindex"></a>

パスの配列で最初に出現するスカラー JSON 値を検索します。
+ 範囲外のエラーは、インデックスを配列の開始と終了に丸めることによって処理されます。
+ start > end の場合は、-1 (見つからない) を返します。

構文

```
JSON.ARRINDEX <key> <path> <json-scalar> [start [end]]
```
+ key (必須) - JSON ドキュメントタイプの Valkey または Redis OSS キー。
+ path (必須) - JSON パス。
+ json-scalar (必須) – 検索するスカラー値。JSON スカラーは、オブジェクトでも配列でもない値を指します。すなわち、文字列、数値、ブール、null がスカラー値です。
+ start (オプション) – 開始インデックス (この値を含みます)｡ 指定しない場合、デフォルトで 0 になります。
+ end (オプション) – 終了インデックス (この値を含みません)。指定しない場合、デフォルトで 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
```