Todos los productos
Search
Centro de documentos

MaxCompute:Funciones JSON

Última actualización: Sep 03, 2026

MaxCompute admite cuatro tipos de datos complejos: ARRAY, MAP, STRUCT y JSON. Este tema describe las funciones y características del tipo de dato JSON.

Índice

Función

Características

FROM_JSON

Devuelve un tipo ARRAY, MAP o STRUCT a partir de una cadena JSON según el formato de salida especificado.

GET_JSON_OBJECT

Extrae una cadena de una cadena JSON mediante una ruta especificada.

JSON_ARRAY

Transforma un objeto JSON, que puede estar vacío, en un arreglo JSON que contiene dicho objeto.

JSON_CONTAINS

Comprueba si un documento JSON contiene un elemento JSON específico.

JSON_EXISTS

Verifica si existe un JSONPath determinado dentro de un documento JSON.

JSON_EXPLODE

Expande cada elemento de un arreglo u objeto JSON en varias filas.

JSON_EXTRACT

Extrae datos de una cadena o tipo de dato JSON con base en un JSONPath definido.

JSON_FORMAT

Convierte un tipo de dato JSON a cadena. La salida no se formatea de manera predeterminada.

JSON_INSERT

Inserta un valor JSON en una posición específica dentro de un documento JSON.

JSON_LENGTH

Devuelve la longitud de los datos JSON en una ruta determinada.

JSON_OBJECT

Genera un objeto JSON a partir de pares clave-valor.

JSON_PARSE

Convierte una cadena al tipo de dato JSON. Se devuelve un error si la cadena no tiene un formato JSON válido.

JSON_PRETTY

Formatea una cadena JSON para mejorar su legibilidad mediante saltos de línea y espacios.

JSON_SET

Reemplaza un valor existente o agrega uno nuevo en una ruta específica de un documento JSON.

JSON_STRIP_NULLS

Elimina todos los campos o elementos con valor null de un objeto o arreglo JSON.

JSON_TUPLE

Extrae cadenas de una cadena JSON estándar para un grupo de claves determinado.

JSON_TYPE

Devuelve el nombre del tipo de un valor JSON.

JSON_UNQUOTE

Quita las comillas de una cadena JSON.

JSON_VALID

Comprueba si una cadena es JSON válido.

TO_JSON

Convierte un tipo de dato complejo especificado en una cadena JSON.

Notas de uso

  • Requisitos de versión del SDK

    • Solo se admiten Java SDK V0.44.0 y versiones posteriores.

    • Solo se admiten PyODPS V0.11.4.1 y versiones posteriores.

  • Límites de operaciones de tabla

    • No es posible agregar una columna JSON a una tabla.

    • Las tablas agrupadas (clustered tables) no son compatibles.

    • Las tablas de tipo Delta Table no son compatibles.

  • Límites de operaciones SQL

    • No se admiten operaciones de comparación sobre el tipo JSON.

    • No utilice cláusulas ORDER BY ni GROUP BY con el tipo JSON. Tampoco use una columna de tipo JSON como clave de JOIN.

  • Precisión de datos

    • La parte entera de un NUMBER JSON se almacena como tipo BIGINT. Se produce un desbordamiento si el entero excede el rango de BIGINT.

    • La parte decimal de un NUMBER JSON se almacena como tipo DOUBLE. Puede haber pérdida de precisión al convertir la parte decimal al tipo DOUBLE.

  • Límites de caracteres: El carácter Unicode \u0000 no es compatible en las cadenas utilizadas para generar datos JSON.

  • Compatibilidad de motores: Si utiliza otro motor, como Hologres, para leer datos de una tabla, no podrá leer el tipo de dato JSON.

  • Las UDF de Java y Python no admiten el tipo JSON.

  • El tipo de dato JSON permite un anidamiento de hasta 20 niveles de profundidad.

  • Herramientas de desarrollo

    Las herramientas de desarrollo compatibles incluyen el cliente MaxCompute (odpscmd), MaxCompute Studio y DataWorks. Los ecosistemas externos como Dataphin no son compatibles. Si desea utilizar el tipo de dato JSON con un sistema externo, confirme su compatibilidad antes de comenzar. Al usar el cliente odpscmd, tenga en cuenta lo siguiente:

    • Actualice el cliente a la versión V0.46.5 o posterior. De lo contrario, no podrá ejecutar el comando DESC json_table ni descargar datos JSON mediante Tunnel.

    • En el archivo conf\odps_config.ini ubicado en la ruta de instalación del cliente, establezca el parámetro use_instance_tunnel en false. De lo contrario, las consultas fallarán.

Referencias

Para obtener más información sobre el tipo de dato JSON, consulte JSON data type.