函数 |
说明 |
JSON_ARRAY() |
创建 JSON 数组 |
JSON_OBJECT() |
创建 JSON 对象 |
JSON_QUOTE() |
引用 JSON 文档 |
JSON_ARRAY([val[, val] ...])
评估一个(可能为空的)值列表并返回一个包含这些值的 JSON 数组。
示例
mysql> SELECT JSON_ARRAY(1, "abc", NULL, TRUE, CURTIME());
+-----------------------------------------------------------+
| JSON_ARRAY(1, "abc", NULL, TRUE, CURTIME()) |
+-----------------------------------------------------------+
| [1, "abc", null, true, "11:30:24.000000"] |
+-----------------------------------------------------------+
JSON_OBJECT([key, val[, key, val] ...])
- 评估一个(可能为空的)键值对列表并返回一个包含这些对的 JSON 对象。如果任何键名称为 NULL 或参数数量为奇数,则会发生错误。
示例
mysql> SELECT JSON_OBJECT('id', 87, 'name', 'carrot');
+--------------------------------------------------+
| JSON_OBJECT('id', 87, 'name', 'carrot') |
+--------------------------------------------------+
| {"id": 87, "name": "carrot"} |
+--------------------------------------------------+
JSON_QUOTE(string)
- 通过用双引号字符包装字符串并转义内部引号和其他字符,将字符串引用为 JSON 值,然后将结果作为 utf8mb4 字符串返回。如果参数为 NULL,则返回 NULL。
- 此函数通常用于生成有效的 JSON 字符串文字以包含在 JSON 文档中。
- 根据表 12.23,“JSON_UNQUOTE() 特殊字符转义序列”中显示的转义序列,某些特殊字符使用反斜杠进行转义。
示例
mysql> SELECT JSON_QUOTE('null'), JSON_QUOTE('"null"');
+--------------------------+----------------------------+
| JSON_QUOTE('null') | JSON_QUOTE('"null"') |
+--------------------------+----------------------------+
| "null" | "\"null\"" |
+--------------------------+----------------------------+
mysql> SELECT JSON_QUOTE('[1, 2, 3]');
+-------------------------------+
| JSON_QUOTE('[1, 2, 3]') |
+-------------------------------+
| "[1, 2, 3]" |
+-------------------------------+
- 您还可以通过使用 CAST(value AS JSON); 将其他类型的值转换为 JSON 类型来获取 JSON 值
- 有两个生成 JSON 值的聚合函数可用。 JSON_ARRAYAGG() 将结果集作为单个 JSON 数组返回,JSON_OBJECTAGG() 将结果集作为单个 JSON 对象返回。
来自 <https://dev.mysql.com/doc/refman/8.0/en/json-creation-functions.html>