

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)を参照してください。

# JSON\$1ARRAY\$1LENGTH 関数
<a name="JSON_ARRAY_LENGTH"></a>

**注記**  
JSON\$1PARSE および関連する関数は、JSON 値を SUPER として解析します。Amazon Redshift は、VARCHAR よりも SUPER をより効率的に解析します。  
 JSON\$1ARRAY\$1LENGTH を使用する代わりに、[JSON\$1PARSE 関数](JSON_PARSE.md) を使用して JSON 文字列を解析し、SUPER 値を取得することをお勧めします。次に、[GET\$1ARRAY\$1LENGTH 関数](get_array_length.md) を使用して配列の長さを取得します。

JSON\$1ARRAY\$1LENGTH 関数は、JSON 文字列の外部配列内の要素数を返します。*null\$1if\$1invalid* の引数が `true` に設定され、JSON 文字列が無効になっている場合、この関数はエラーを返す代わりに `NULL` を返します。

詳細については、「[JSON 関数](json-functions.md)」を参照してください。

## 構文
<a name="JSON_ARRAY_LENGTH-synopsis"></a>

```
JSON_ARRAY_LENGTH('json_array' [, null_if_invalid ] ) 
```

## 引数
<a name="JSON_ARRAY_LENGTH-arguments"></a>

 *json\$1array*  
正しくフォーマットされた JSON 配列。

 *null\$1if\$1invalid*  
(オプション) 入力 JSON 文字列が無効である場合に、エラーを返す代わりに `NULL` を返すかどうかを指定する `BOOLEAN` 値。JSON が無効な場合に `NULL` を返すには、`true` (`t`) を指定します。JSON が無効な場合にエラーを返すには、`false` (`f`) を指定します。デフォルトは `false` です。

## 戻り型
<a name="JSON_ARRAY_LENGTH-return"></a>

`INTEGER`

## 例
<a name="JSON_ARRAY_LENGTH-examples"></a>

配列内の要素数を返すには、次の例を使用します。

```
SELECT JSON_ARRAY_LENGTH('[11,12,13,{"f1":21,"f2":[25,26]},14]'); 

+-------------------+
| json_array_length |
+-------------------+
|                 5 |
+-------------------+
```

JSON が無効であるためエラーを返すには、次の例を使用します。

```
SELECT JSON_ARRAY_LENGTH('[11,12,13,{"f1":21,"f2":[25,26]},14');
 
ERROR: invalid json array object [11,12,13,{"f1":21,"f2":[25,26]},14
```

*null\$1if\$1invalid* を *true* に設定し、ステートメントが無効な JSON のエラーを返す代わりに `NULL` を返すようにするには、次の例を使用します。

```
SELECT JSON_ARRAY_LENGTH('[11,12,13,{"f1":21,"f2":[25,26]},14',true);

+-------------------+
| json_array_length |
+-------------------+
| NULL              |
+-------------------+
```