Convertit une chaîne JSON en valeur VARIANT.
Remarque
Cette fonction est prise en charge uniquement avec Ververica Runtime (VVR) 11.1.0 ou version ultérieure.
Syntaxe
VARIANT PARSE_JSON(VARCHAR jsonStr [, BOOLEAN allowDuplicateKeys])
Paramètres
| Paramètre | Type de données | Description |
|---|---|---|
jsonStr |
VARCHAR | Chaîne JSON à analyser. |
allowDuplicateKeys |
BOOLEAN | (Facultatif) Autorise les clés en double. true : conserve la valeur de la dernière clé en double. false (valeur par défaut) : génère une erreur en cas de clés en double. |
Notes d'utilisation
Si
jsonStrest NULL, la fonction renvoie NULL.
Différences entre PARSE_JSON et TRY_PARSE_JSON
| Fonction | Gestion des erreurs | Valeur de retour pour un code JSON non valide | Cas d'utilisation |
|---|---|---|---|
| PARSE_JSON | Génère une erreur | Erreur | Validation stricte des entrées requise |
| TRY_PARSE_JSON | Tolère les erreurs | NULL | Entrées non valides acceptables |
Exemples
Utilisation de base
Table d'entrée T1 :
| jsonString (VARCHAR) |
|---|
| {"k": "v1", "k2": 1} |
SELECT PARSE_JSON(jsonString) AS v
FROM T1;
Résultat :
| v (VARIANT) |
|---|
| {"k": "v1", "k2": 1} |
Gestion des clés en double
Par défaut, PARSE_JSON génère une erreur en présence de clés en double :
SELECT PARSE_JSON('{"a": "123", "b": "456", "a": "789"}') AS v;
Pour conserver la dernière valeur de chaque clé en double, définissez allowDuplicateKeys sur true :
SELECT PARSE_JSON('{"a": "123", "b": "456", "a": "789"}', true) AS v;