Funzione CAN_JSON_PARSE - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dal 1º novembre 2025. Se desideri utilizzare le UDF Python, creale prima di tale data. Le UDF Python esistenti continueranno a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog.

Funzione CAN_JSON_PARSE

La funzione CAN_JSON_PARSE analizza i dati in formato JSON e restituisce true se il risultato può essere convertito in un valore SUPER utilizzando le funzione JSON_PARSE.

Sintassi

CAN_JSON_PARSE( {json_string | binary_value} )

Argomenti

json_string

Un’espressione che restituisce JSON serializzato nel formato VARCHAR.

binary_value

Un valore binario di tipo VARBYTE.

Tipo restituito

BOOLEAN

Note per l’utilizzo

  • CAN_JSON_CAN_PARSE restituisce false per le stringhe vuote. Restituisce NULL quando l’argomento di input è null.

Esempi

L’esempio seguente mostra CAN_JSON_PARSE in esecuzione su un array JSON formato correttamente utilizzando una condizione CASE. Restituisce true, quindi Amazon Redshift esegue la funzione JSON_PARSE per il valore di esempio.

SELECT CASE WHEN CAN_JSON_PARSE('[10001,10002,"abc"]') THEN JSON_PARSE('[10001,10002,"abc"]') END; case --------------------- '[10001,10002,"abc"]'

L’esempio seguente mostra CAN_JSON_PARSE in esecuzione su un valore che non è in formato JSON utilizzando una condizione CASE. Restituisce false, quindi Amazon Redshift restituisce il segmento nella clausola ELSE della condizione CASE.

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