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> )
Copy

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;
Copy

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                             |
+----+----------------------+----------------------------------+
Copy

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                                 |
+----+----------------------+--------------------------------------+
Copy