

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# CAN\$1JSON\$1PARSE 函數
<a name="CAN_JSON_PARSE"></a>

CAN\$1JSON\$1PARSE 函數會剖析 JSON 格式的資料，如果可以使用 JSON\$1PARSE 函數將結果轉換為 `SUPER` 值，則傳回 `true`。

## 語法
<a name="CAN_JSON_PARSE-synopsis"></a>

```
CAN_JSON_PARSE( {json_string | binary_value} )
```

## 引數
<a name="CAN_JSON_PARSE-arguments"></a>

 *json\$1string*  
以 `VARCHAR` 形式傳回序列化 JSON 的表達式。

 *binary\$1value*  
VARBYTE 類型二進位值。

## 傳回類型
<a name="CAN_JSON_PARSE-return"></a>

`BOOLEAN`

## 使用須知
<a name="CAN_JSON_PARSE-usage-notes"></a>
+ CAN\$1JSON\$1PARSE 會針對空字串傳回 false。當輸入引數為 null 時，它會傳回 NULL。

## 範例
<a name="CAN_JSON_PARSE-examples"></a>

 下列範例顯示使用 CASE 條件在格式正確的 JSON 陣列上執行的 CAN\$1JSON\$1PARSE。它傳回 true，因此 Amazon Redshift 會對範例值執行 JSON\$1PARSE 函式。

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

 case
---------------------
'[10001,10002,"abc"]'
```

 下列範例顯示使用 CASE 條件對非 JSON 格式的值執行的 CAN\$1JSON\$1PARSE。它傳回 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."
```