1.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"] | +---------------------------------------------+
2.JSON_OBJECT([key, val[, key, val] ...])
计算一组key-value对,然后返回一个JSON对象。如果key为空或者参数数量为奇数,函数会报错。
mysql> SELECT JSON_OBJECT('id', 87, 'name', 'carrot'); +-----------------------------------------+ | JSON_OBJECT('id', 87, 'name', 'carrot') | +-----------------------------------------+ | {"id": 87, "name": "carrot"} | +-----------------------------------------+
3.JSON_QUOTE(string)
通俗地讲就是把一个JSON对象引用成一个JSON字符串值(utf8mb4格式)。如果传null,则会返回null。这个功能就是为了生成一个可以存储在JSON document中的JSON字符串。
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]" | +-------------------------+