跳到主要内容

JSON_OBJECT

描述

该函数根据用户输入的 key-value 对返回相应的 JSON 对象。

语法

JSON_OBJECT([key, val[, key, val] ...])

说明

key, val 表示一个键值对。如果参数数量为奇数,则会发生报错。

示例

SELECT JSON_OBJECT('id', 69, 'name', 'apple');
+----------------------------------------+
| JSON_OBJECT('id', 69, 'name', 'apple') |
+----------------------------------------+
| {"id": 69, "name": "apple"} |
+----------------------------------------+
1 row in set (0.001 sec)

SELECT JSON_OBJECT('id', 69, 'name', 'apple', 100);
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_OBJECT'

SELECT JSON_OBJECT('id', 69, 'name', 'apple', 100, 'good');
+-----------------------------------------------------+
| JSON_OBJECT('id', 69, 'name', 'apple', 100, 'good') |
+-----------------------------------------------------+
| {"id": 69, "100": "good", "name": "apple"} |
+-----------------------------------------------------+
1 row in set (0.001 sec)

SELECT JSON_OBJECT();
+---------------+
| JSON_OBJECT() |
+---------------+
| {} |
+---------------+
1 row in set (0.001 sec)

SELECT JSON_OBJECT('id', 69, 'name', 'apple', '[100,200]','{names:tim}');
+-------------------------------------------------------------------+
| JSON_OBJECT('id', 69, 'name', 'apple', '[100,200]','{names:tim}') |
+-------------------------------------------------------------------+
| {"id": 69, "name": "apple", "[100,200]": "{names:tim}"} |
+-------------------------------------------------------------------+
1 row in set (0.001 sec)