Version spécialisée de PARSE_JSON qui renvoie NULL au lieu de lever une erreur en cas d'échec de l'analyse.
Limites
Fonction disponible uniquement avec Ververica Runtime (VVR) 11.1.0 ou version ultérieure.
Syntaxe
VARIANT TRY_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 ou non les clés dupliquées dans la chaîne JSON. true : conserve la dernière valeur pour chaque clé dupliquée. false (valeur par défaut) : renvoie NULL si la chaîne contient des clés dupliquées. |
Valeur de retour
Renvoie une valeur VARIANT contenant un document JSON.
Renvoie NULL dans les cas suivants :
L'entrée
jsonStrest NULL.La chaîne JSON n'est pas valide et ne peut pas être analysée.
Le paramètre
allowDuplicateKeysest défini surfalse(valeur par défaut) et la chaîne JSON contient des clés dupliquées.
Comparaison entre PARSE_JSON et TRY_PARSE_JSON
| Fonction | Mécanisme de gestion des erreurs | Valeur de retour pour une entrée JSON non valide | Scénarios appropriés |
|---|---|---|---|
PARSE_JSON |
Lève explicitement des erreurs. | Renvoie une erreur. | Validation stricte des entrées requise. |
TRY_PARSE_JSON |
Tolère les erreurs. | Renvoie NULL. | Tolérance aux entrées non valides nécessaire. |
Exemple
La table T1 contient les données de test suivantes :
| jsonString (VARCHAR) |
|---|
{"k": "v1", "k2": 1} |
{ |
Exécutez la requête suivante :
SELECT TRY_PARSE_JSON(jsonString) AS v
FROM T1;
Résultats :
| v (VARIANT) |
|---|
{"k": "v1", "k2": 1} |
| NULL |
La deuxième ligne contient un code JSON non valide ({), donc TRY_PARSE_JSON renvoie NULL. Si vous aviez utilisé PARSE_JSON à la place, la requête aurait échoué avec une erreur.