Amazon Redshift ne prendra plus en charge la création de nouvelles fonctions Python définies par l’utilisateur à compter du 1er novembre 2025. Si vous souhaitez utiliser des fonctions Python définies par l’utilisateur, créez-les avant cette date. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement. Pour plus d’informations, consultez le billet de blog
Fonction CAN_JSON_PARSE
La fonction CAN_JSON_PARSE analyse les données au format JSON et renvoie true si le résultat peut être converti en valeur SUPER à l’aide de la fonction JSON_PARSE.
Syntaxe
CAN_JSON_PARSE( {json_string | binary_value} )
Arguments
- json_string
-
Expression qui renvoie la chaîne JSON sérialisée sous la forme
VARCHAR. - binary_value
-
Valeur binaire du type VARBYTE.
Type de retour
BOOLEAN
Notes d’utilisation
CAN_JSON_PARSE renvoie la valeur false pour les chaînes vides. Il renvoie NULL lorsque l’argument d’entrée est null.
Exemples
L’exemple suivant montre CAN_JSON_PARSE s’exécutant sur un tableau JSON correctement formé à l’aide d’une condition CASE. Il renvoie true. Amazon Redshift exécute donc la fonction JSON_PARSE sur la valeur d’exemple.
SELECT CASE WHEN CAN_JSON_PARSE('[10001,10002,"abc"]') THEN JSON_PARSE('[10001,10002,"abc"]') END;case --------------------- '[10001,10002,"abc"]'
L’exemple suivant montre CAN_JSON_PARSE s’exécutant sur une valeur qui n’est pas au format JSON avec une condition CASE. Il renvoie false. Amazon Redshift renvoie donc le segment dans la clause ELSE de la condition CASE à la place.
SELECT CASE WHEN CAN_JSON_PARSE('This is a string.') THEN JSON_PARSE('This is a string.') ELSE 'This is not JSON.' END;case --------------------- "This is not JSON."