本节中列出的功能由组件元素组成JSON值。
计算(可能为空)值列表,并返回包含这些值的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"} |
+-----------------------------------------+
通过将字符串用双引号引起来并转义内部引号和其他字符来将utf8mb4
字符串引为JSON值,然后将结果作为字符串返回 。NULL
如果参数为,则 返回 NULL
。
此函数通常用于生成有效的JSON字符串文字,以包含在JSON文档中。
根据表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]" |
+--------------