Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting
Funktion CAN_JSON_PARSE
Die Funktion CAN_JSON_PARSE analysiert Daten im JSON-Format und gibt true zurück, wenn das Ergebnis mithilfe der Funktion JSON_PARSE in einen SUPER-Wert konvertiert werden kann.
Syntax
CAN_JSON_PARSE( {json_string | binary_value} )
Argumente
- json_string
-
Ein Ausdruck, der serialisierte JSON-Datentypen im
VARCHAR-Format zurückgibt. - binary_value
-
Ein Binärwert des Datentyps VARBYTE.
Rückgabetyp
BOOLEAN
Nutzungshinweise
CAN_JSON_PARSE gibt für leere Zeichenketten „false“ zurück. Gibt NULL zurück, wenn das Eingabeargument null ist.
Beispiele
Das folgende Beispiel zeigt, wie CAN_JSON_PARSE auf einem korrekt formatierten JSON-Array unter Verwendung einer CASE-Bedingung ausgeführt wird. Es gibt „true“ zurück, so dass Amazon Redshift die Funktion JSON_PARSE für den Beispielwert ausführt.
SELECT CASE WHEN CAN_JSON_PARSE('[10001,10002,"abc"]') THEN JSON_PARSE('[10001,10002,"abc"]') END;case --------------------- '[10001,10002,"abc"]'
Das folgende Beispiel zeigt, wie CAN_JSON_PARSE unter Verwendung einer CASE-Bedingung auf einem Wert ausgeführt wird, der nicht das JSON-Format hart. Es gibt „false“ zurück, so dass Amazon Redshift stattdessen das Segment in der ELSE-Klausel der CASE-Bedingung zurückgibt.
SELECT CASE WHEN CAN_JSON_PARSE('This is a string.') THEN JSON_PARSE('This is a string.') ELSE 'This is not JSON.' END;case --------------------- "This is not JSON."