Todos os produtos
Search
Central de documentação

MaxCompute:Funções JSON

Última atualização: Aug 21, 2026

O MaxCompute oferece suporte a quatro tipos de dados complexos: ARRAY, MAP, STRUCT e JSON. Este tópico descreve as funções e os recursos do tipo de dados JSON.

Índice

Função

Recursos

FROM_JSON

Retorna um tipo ARRAY, MAP ou STRUCT a partir de uma string JSON, conforme o formato de saída especificado.

GET_JSON_OBJECT

Extrai uma string de uma string JSON por meio de um caminho especificado.

JSON_ARRAY

Transforma um objeto JSON, mesmo que vazio, em um array JSON contendo esse objeto.

JSON_CONTAINS

Verifica se um documento JSON contém um elemento JSON específico.

JSON_EXISTS

Verifica a existência de um JSONPath especificado em um documento JSON.

JSON_EXPLODE

Expande cada elemento de um array ou objeto JSON em várias linhas.

JSON_EXTRACT

Extrai dados de uma string ou tipo de dados JSON com base em um JSONPath especificado.

JSON_FORMAT

Converte um tipo de dados JSON para string. A saída não vem formatada por padrão.

JSON_INSERT

Insere um valor JSON em uma posição específica de um documento JSON.

JSON_LENGTH

Retorna o comprimento dos dados JSON em um caminho especificado.

JSON_OBJECT

Gera um objeto JSON a partir de pares chave-valor.

JSON_PARSE

Converte uma string para o tipo de dados JSON. Retorna erro se a string não estiver em formato JSON válido.

JSON_PRETTY

Formata uma string JSON para melhorar a legibilidade mediante a adição de quebras de linha e espaços.

JSON_SET

Substitui um valor existente ou adiciona um novo valor em um caminho especificado de um documento JSON.

JSON_STRIP_NULLS

Remove todos os campos ou elementos com valor null de um objeto ou array JSON.

JSON_TUPLE

Extrai strings de uma string JSON padrão para um grupo de chaves especificado.

JSON_TYPE

Retorna o nome do tipo de um valor JSON.

JSON_UNQUOTE

Remove aspas de uma string JSON.

JSON_VALID

Verifica se uma string é um JSON válido.

TO_JSON

Converte um tipo de dados complexo especificado em uma string JSON.

Notas de uso

  • Requisitos de versão do SDK

    • Há suporte apenas para Java SDK V0.44.0 e versões posteriores.

    • Há suporte apenas para PyODPS V0.11.4.1 e versões posteriores.

  • Limites de operações de tabela

    • Não é possível adicionar uma coluna JSON a uma tabela.

    • Não há suporte para tabelas clusterizadas.

    • Não há suporte para tabelas do tipo Delta Table.

  • Limites de operações SQL

    • Não há suporte para operações de comparação no tipo JSON.

    • As cláusulas ORDER BY e GROUP BY não são permitidas para o tipo JSON. Também não é permitido usar uma coluna do tipo JSON como chave de JOIN.

  • Precisão de dados

    • A parte inteira de um NUMBER JSON é armazenada como BIGINT. Ocorre overflow se o inteiro exceder o intervalo do BIGINT.

    • A parte decimal de um NUMBER JSON é armazenada como DOUBLE. Pode haver perda de precisão na conversão da parte decimal para DOUBLE.

  • Limites de caracteres: Não há suporte para o caractere Unicode \u0000 em strings usadas para gerar dados JSON.

  • Compatibilidade de mecanismo: Outros mecanismos, como o Hologres, não leem o tipo de dados JSON ao acessar a tabela.

  • UDFs Java e Python não oferecem suporte ao tipo JSON.

  • O tipo de dados JSON aceita aninhamento de até 20 níveis.

  • Ferramentas de desenvolvimento

    As ferramentas de desenvolvimento compatíveis incluem o cliente MaxCompute (odpscmd), MaxCompute Studio e DataWorks. Ecossistemas externos, como Dataphin, não têm suporte. Para usar o tipo de dados JSON com um sistema externo, confirme a compatibilidade antes de começar. Ao usar o cliente odpscmd, atente-se ao seguinte:

    • Atualize o cliente para a versão V0.46.5 ou posterior. Caso contrário, não será possível executar o comando DESC json_table nem baixe dados JSON pelo Tunnel.

    • No arquivo conf\odps_config.ini, localizado no diretório de instalação do cliente, defina o parâmetro use_instance_tunnel como false. Caso contrário, as consultas falharão.

Referências

Para obter mais informações sobre o tipo de dados JSON, consulte JSON data type.