Kategorien:

Semistrukturierte Datenfunktionen (Analyse)

CHECK_JSON

Überprüft die Gültigkeit eines JSON-Dokuments. Wenn die Eingabezeichenfolge ein gültiger JSON-Dokument oder NULL ist, lautet die Ausgabe NULL (d. h. kein Fehler). Wenn die Eingabe nicht in einen gültigen Wert JSON übersetzt werden kann, enthält die Ausgabezeichenfolge die Fehlermeldung.

Syntax

CHECK_JSON( <string_or_variant_expr> )

Argumente

Zeichenfolge_oder_Variant-Ausdruck

Ein VARIANT- oder ein Zeichenfolgewert (oder Ausdruck), der geprüft werden soll.

Wenn der Ausdruck vom Typ VARIANT ist, sollte er eine Zeichenfolge enthalten.

Beispiele

Erstellen Sie eine Tabelle, und fügen Sie einige VARCHAR- und VARIANT-Werte ein:

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;

Verwenden Sie die Funktion CHECK_JSON, um die Gültigkeit der potenziell JSON-kompatiblen Zeichenfolgen in einer VARCHAR-Spalte zu prüfen:

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

Verwenden Sie die Funktion CHECK_JSON, um die Gültigkeit der potenziell JSON-kompatiblen Zeichenfolgen in einer VARIANT-Spalte zu prüfen:

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