Tous les produits
Search
Centre de documentation

MaxCompute:Fonctions JSON

Dernière mise à jour :Aug 21, 2026

MaxCompute prend en charge quatre types de données complexes : ARRAY, MAP, STRUCT et JSON. Cette rubrique décrit les fonctions et les caractéristiques du type de données JSON.

Index

Fonction

Caractéristiques

FROM_JSON

Renvoie un type ARRAY, MAP ou STRUCT à partir d'une chaîne JSON selon le format de sortie spécifié.

GET_JSON_OBJECT

Extrait une chaîne d'une chaîne JSON à l'aide d'un chemin d'accès spécifié.

JSON_ARRAY

Transforme un objet JSON, qui peut être vide, en un tableau JSON contenant cet objet.

JSON_CONTAINS

Vérifie si un document JSON contient un élément JSON spécifié.

JSON_EXISTS

Vérifie si un JSONPath spécifié existe dans un document JSON.

JSON_EXPLODE

Développe chaque élément d'un tableau JSON ou d'un objet JSON en plusieurs lignes.

JSON_EXTRACT

Extrait des données d'une chaîne JSON ou d'un type de données JSON sur la base d'un JSONPath spécifié.

JSON_FORMAT

Convertit un type de données JSON en chaîne. La sortie n'est pas mise en forme par défaut.

JSON_INSERT

Insère une valeur JSON à une position spécifiée dans un document JSON.

JSON_LENGTH

Renvoie la longueur des données JSON situées à un chemin d'accès spécifié.

JSON_OBJECT

Génère un objet JSON à partir de paires clé-valeur.

JSON_PARSE

Convertit une chaîne en type de données JSON. Une erreur est renvoyée si la chaîne n'est pas au format JSON valide.

JSON_PRETTY

Met en forme une chaîne JSON pour la rendre plus lisible en ajoutant des sauts de ligne et des espaces.

JSON_SET

Remplace une valeur existante ou ajoute une nouvelle valeur à un chemin d'accès spécifié dans un document JSON.

JSON_STRIP_NULLS

Supprime tous les champs ou éléments dont la valeur est null d'un objet JSON ou d'un tableau JSON.

JSON_TUPLE

Extrait des chaînes d'une chaîne JSON standard pour un groupe de clés spécifié.

JSON_TYPE

Renvoie le nom du type d'une valeur JSON.

JSON_UNQUOTE

Supprime les guillemets d'une chaîne JSON.

JSON_VALID

Vérifie si une chaîne est un JSON valide.

TO_JSON

Convertit un type de données complexe spécifié en chaîne JSON.

Notes d'utilisation

  • Exigences relatives à la version du SDK

    • Seules les versions Java SDK V0.44.0 et ultérieures sont prises en charge.

    • Seules les versions PyODPS V0.11.4.1 et ultérieures sont prises en charge.

  • Limites des opérations sur les tables

    • Vous ne pouvez pas ajouter de colonne JSON à une table.

    • Les tables clusterisées ne sont pas prises en charge.

    • Les tables de type Delta Table ne sont pas prises en charge.

  • Limites des opérations SQL

    • Les opérations de comparaison sur le type JSON ne sont pas prises en charge.

    • Vous ne pouvez pas utiliser les clauses ORDER BY ou GROUP BY sur le type JSON. Vous ne pouvez pas non plus utiliser une colonne de type JSON comme clé JOIN.

  • Précision des données

    • La partie entière d'un JSON NUMBER est stockée sous forme de type BIGINT. Un dépassement de capacité se produit si l'entier sort de la plage BIGINT.

    • La partie décimale d'un JSON NUMBER est stockée sous forme de type DOUBLE. Une perte de précision peut survenir lors de la conversion de la partie décimale vers le type DOUBLE.

  • Limites de caractères : Le caractère Unicode \u0000 n'est pas pris en charge dans les chaînes utilisées pour générer des données JSON.

  • Compatibilité du moteur : Si vous utilisez un autre moteur, tel que Hologres, pour lire les données d'une table, le type de données JSON ne peut pas être lu.

  • Les UDF Java et les UDF Python ne prennent pas en charge le type JSON.

  • Le type de données JSON peut être imbriqué jusqu'à 20 niveaux de profondeur.

  • Outils de développement

    Les outils de développement pris en charge incluent le client MaxCompute (odpscmd), MaxCompute Studio et DataWorks. Les écosystèmes externes tels que Dataphin ne sont pas pris en charge. Si vous souhaitez utiliser le type de données JSON avec un système externe, vous devez confirmer sa compatibilité avant de commencer. Lorsque vous utilisez le client odpscmd, tenez compte des points suivants :

    • Vous devez mettre à niveau le client vers la version V0.46.5 ou ultérieure. Sinon, vous ne pourrez pas exécuter la commande DESC json_table ni télécharger les données JSON à l'aide de Tunnel.

    • Dans le fichier conf\odps_config.ini situé dans le chemin d'installation du client, définissez le paramètre use_instance_tunnel sur false. Sinon, les requêtes échoueront.

Références

Pour plus d'informations sur le type de données JSON, consultez la rubrique Type de données JSON.