

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Função JSON\$1ARRAY\$1LENGTH
<a name="JSON_ARRAY_LENGTH"></a>

**nota**  
O JSON\$1PARSE e suas funções associadas analisam os valores JSON como SUPER, que o Amazon Redshift analisa com maior eficiência do que o VARCHAR.  
 Em vez de usar JSON\$1ARRAY\$1LENGTH, recomendamos que você analise suas strings JSON usando o [Função JSON\$1PARSE](JSON_PARSE.md) para ter um valor SUPER. Depois, use o [Função GET\$1ARRAY\$1LENGTH](get_array_length.md) para ter o comprimento da matriz. 

A função JSON\$1ARRAY\$1LENGTH retorna o número de elementos no array externo de uma string JSON. Se o argumento *null\$1if\$1invalid* for definido como `true` e a string JSON for inválida, a função retornará `NULL`, em vez de retornar um erro.

Para obter mais informações, consulte [Funções JSON](json-functions.md). 

## Sintaxe
<a name="JSON_ARRAY_LENGTH-synopsis"></a>

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

## Argumentos
<a name="JSON_ARRAY_LENGTH-arguments"></a>

 *json\$1array*  
Uma matriz JSON adequadamente formatada.

 *null\$1if\$1invalid*  
(Opcional) Um valor `BOOLEAN` que especifica se `NULL` será ou não retornado caso a string de entrada JSON seja inválida, em vez de retornar um erro. Para retornar `NULL` se JSON for inválido, especifique `true` (`t`). Para retornar um erro se JSON for inválido, especifique `false` (`f`). O padrão é `false`.

## Tipo de retorno
<a name="JSON_ARRAY_LENGTH-return"></a>

`INTEGER`

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

Para retornar o número de elementos na matriz, use o exemplo a seguir. 

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

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

Para retornar um erro porque JSON é inválido, use o exemplo a seguir.

```
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
```

Para definir *null\$1if\$1invalid* como *true* a fim de que a instrução retorne `NULL`, em vez de retornar um erro para o JSON inválido, use o exemplo a seguir.

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

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