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 IS_VALID_JSON
Note
CAN_JSON_PARSE et ses fonctions associées analysent les valeurs JSON en tant que SUPER, qu’Amazon Redshift analyse plus efficacement que VARCHAR.
Au lieu d’utiliser IS_VALID_JSON, nous vous recommandons de valider vos chaînes JSON à l’aide de Fonction CAN_JSON_PARSE.
La fonction IS_VALID_JSON valide une chaîne JSON. La fonction renvoie la valeur booléenne true si la chaîne est une chaîne JSON correctement formée ou false dans le cas contraire. Pour valider un tableau JSON, utilisez Fonction IS_VALID_JSON_ARRAY
Pour plus d'informations, consultez Fonctions JSON.
Syntaxe
IS_VALID_JSON('json_string')
Arguments
- json_string
-
Chaîne ou expression ayant pour valeur une chaîne JSON.
Type de retour
BOOLEAN
Exemples
Pour créer une table et insérer des chaînes JSON à des fins de test, utilisez l’exemple suivant.
CREATE TABLE test_json(id int IDENTITY(0,1), json_strings VARCHAR); -- Insert valid JSON strings -- INSERT INTO test_json(json_strings) VALUES ('{"a":2}'), ('{"a":{"b":{"c":1}}}'), ('{"a": [1,2,"b"]}'); -- Insert invalid JSON strings -- INSERT INTO test_json(json_strings) VALUES ('{{}}'), ('{1:"a"}'), ('[1,2,3]');
Pour valider les chaînes dans l’exemple précédent, utilisez l’exemple suivant.
SELECT id, json_strings, IS_VALID_JSON(json_strings) FROM test_json ORDER BY id;+----+---------------------+---------------+ | id | json_strings | is_valid_json | +----+---------------------+---------------+ | 0 | {"a":2} | true | | 4 | {"a":{"b":{"c":1}}} | true | | 8 | {"a": [1,2,"b"]} | true | | 12 | {{}} | false | | 16 | {1:"a"} | false | | 20 | [1,2,3] | false | +----+---------------------+---------------+