Todos os produtos
Search
Central de documentação

MaxCompute:JSON_LENGTH

Última atualização: Sep 17, 2026

A função JSON_LENGTH retorna o comprimento dos dados JSON em um caminho especificado.

Sintaxe

BIGINT JSON_LENGTH(JSON <json> [, STRING <json_path>])

-- Standard example.
-- Returns 2.
SELECT JSON_LENGTH(JSON '{"k1":"v31","k2":300}');

Parâmetros

  • json: Obrigatório. Dados JSON do tipo JSON.

  • json_path: Opcional. Caminho para os dados JSON, do tipo STRING. Se não especificado, a função retorna o comprimento total dos dados JSON por padrão.

Valor de retorno

Retorna um valor BIGINT conforme as regras a seguir:

  • Se json for um array JSON, retorna o número de elementos do array.

  • Se json for um objeto JSON, retorna o número de membros do objeto.

  • Se os dados json não forem um array nem um objeto JSON, retorna 1.

  • Se json ou json_path for nulo, retorna null.

  • A função não contabiliza elementos ou membros dentro de arrays ou objetos aninhados.

Exemplos

  • Exemplo 1: Uso básico

    -- Returns 2.
    SELECT JSON_LENGTH(JSON '{"k1":"v31","k2":300}');
    
    -- Returns 6.
    SELECT JSON_LENGTH(JSON '[1,2,3,4,5,6]');
    
    -- Returns 3. The length of nested arrays or objects is not considered.
    SELECT 
      JSON_LENGTH(
        JSON '{"name": "John", "age": 22, "skills":["PHP","MySQL","JavaScript"]}'
      );
    
    -- Returns 2.
    SELECT JSON_LENGTH(JSON '{"x": 1, "y": [1, 2]}', '$.y');
    
    -- Returns null.
    SELECT JSON_LENGTH(null);
  • Exemplo 2: Retorno de 1 quando os dados json não são um array nem um objeto JSON.

    -- Returns 1.
    SELECT JSON_LENGTH(JSON 'null');
    
    -- Returns 1.
    SELECT JSON_LENGTH(JSON '123');
    
    -- Returns 1.
    SELECT JSON_LENGTH(JSON '123.34');
    
    -- Returns 1.
    SELECT JSON_LENGTH(JSON 'true');

Funções relacionadas

JSON_LENGTH é uma função JSON. Para mais informações sobre outras funções desse tipo, consulte JSON functions.