- Catégories :
Fonctions de données semi-structurées et structurées (Parsing)
CHECK_JSON¶
Vérifie la validité d’un document JSON. Si la chaîne d’entrée est un document JSON valide ou une valeur NULL, la sortie est NULL (pas une erreur). Si l’entrée ne peut pas être traduite en une valeur JSON valide, la chaîne de sortie contient le message d’erreur.
Syntaxe¶
CHECK_JSON( <string_or_variant_expr> )
Arguments¶
string_or_variant_expr
Une
VARIANT
ou une valeur de chaîne (ou une expression) à vérifier.Si l’expression est de type
VARIANT
, elle devrait contenir une chaîne.
Exemples¶
Créer une table et insérer certaines valeurs VARCHAR
et VARIANT
:
CREATE TABLE sample_json_table (ID INTEGER, varchar1 VARCHAR, variant1 VARIANT); INSERT INTO sample_json_table (ID, varchar1) VALUES (1, '{"ValidKey1": "ValidValue1"}'), (2, '{"Malformed -- Missing value": }'), (3, NULL) ; UPDATE sample_json_table SET variant1 = varchar1::VARIANT;
Utilisez la fonction CHECK_JSON
pour vérifier la validité des chaînes compatibles JSON potentielles dans une colonne VARCHAR
:
SELECT ID, CHECK_JSON(varchar1), varchar1 FROM sample_json_table ORDER BY ID; +----+----------------------+----------------------------------+ | ID | CHECK_JSON(VARCHAR1) | VARCHAR1 | |----+----------------------+----------------------------------| | 1 | NULL | {"ValidKey1": "ValidValue1"} | | 2 | misplaced }, pos 32 | {"Malformed -- Missing value": } | | 3 | NULL | NULL | +----+----------------------+----------------------------------+
Utilisez la fonction CHECK_JSON
pour vérifier la validité des chaînes compatibles JSON potentielles dans une colonne VARIANT
:
SELECT ID, CHECK_JSON(variant1), variant1 FROM sample_json_table ORDER BY ID; +----+----------------------+--------------------------------------+ | ID | CHECK_JSON(VARIANT1) | VARIANT1 | |----+----------------------+--------------------------------------| | 1 | NULL | "{\"ValidKey1\": \"ValidValue1\"}" | | 2 | misplaced }, pos 32 | "{\"Malformed -- Missing value\": }" | | 3 | NULL | NULL | +----+----------------------+--------------------------------------+