

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 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/)。

# JSON\$1SERIALIZE 函数
<a name="JSON_SERIALIZE"></a>

JSON\$1SERIALIZE 函数将 `SUPER` 表达式序列化为文本 JSON 表示形式，以遵守 RFC 8259。有关该 RFC 的更多信息，请参阅 [JavaScript Object Notation (JSON) 数据交换格式](https://tools.ietf.org/html/rfc8259)。

`SUPER` 大小限制与数据块限制大致相同，并且 `VARCHAR` 限制小于 `SUPER` 大小限制。因此，当 JSON 格式超出系统的 VARCHAR 限制时，JSON\$1SERIALIZE 函数会返回一个错误。要检查 `SUPER` 表达式的大小，请参阅 [JSON\$1SIZE](r_json_size.md) 函数。

## 语法
<a name="JSON_SERIALIZE-synopsis"></a>

```
JSON_SERIALIZE(super_expression)
```

## 参数
<a name="JSON_SERIALIZE-arguments"></a>

 *super\$1expression*  
`SUPER` 表达式或列。

## 返回类型
<a name="JSON_SERIALIZE-return"></a>

`VARCHAR`

**注意**  
返回的 VARCHAR 值始终为非空 JSON 字符串。如果 *super\$1expression* 为 NULL，则 JSON\$1SERIALIZE 返回 JSON 字符串 `'null'`。

## 示例
<a name="JSON_SERIALIZE-examples"></a>

要将 `SUPER` 值序列化为字符串，请使用以下示例。

```
SELECT JSON_SERIALIZE(JSON_PARSE('[10001,10002,"abc"]'));
   
+---------------------+
|   json_serialize    |
+---------------------+
| [10001,10002,"abc"] |
+---------------------+
```