Funktion CAN_JSON_PARSE - Amazon Redshift

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."