Fonction CAN_JSON_PARSE - Amazon Redshift

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."