- Kategorien:
Funktionen für semistrukturierte und strukturierte Daten (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¶
string_or_variant_expr
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 | +----+----------------------+--------------------------------------+