Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章
CAN_JSON_PARSE 函數
CAN_JSON_PARSE 函數會剖析 JSON 格式的資料,如果可以使用 JSON_PARSE 函數將結果轉換為 SUPER 值,則傳回 true。
語法
CAN_JSON_PARSE( {json_string | binary_value} )
引數
- json_string
-
以
VARCHAR形式傳回序列化 JSON 的表達式。 - binary_value
-
VARBYTE 類型二進位值。
傳回類型
BOOLEAN
使用須知
CAN_JSON_PARSE 會針對空字串傳回 false。當輸入引數為 null 時,它會傳回 NULL。
範例
下列範例顯示使用 CASE 條件在格式正確的 JSON 陣列上執行的 CAN_JSON_PARSE。它傳回 true,因此 Amazon Redshift 會對範例值執行 JSON_PARSE 函式。
SELECT CASE WHEN CAN_JSON_PARSE('[10001,10002,"abc"]') THEN JSON_PARSE('[10001,10002,"abc"]') END;case --------------------- '[10001,10002,"abc"]'
下列範例顯示使用 CASE 條件對非 JSON 格式的值執行的 CAN_JSON_PARSE。它傳回 false,因此 Amazon Redshift 會改為傳回 CASE 條件的 ELSE 子句中的區段。
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."