Mysql Json函数创建 (二)

本节中列出的功能由组件元素组成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([keyval[, keyval] ...])

    评估键值对的列表(可能为空),并返回包含这些对的JSON对象。如果任何键名是NULL或参数个数为奇数,则会发生错误

    mysql> SELECT JSON_OBJECT('id', 87, 'name', 'carrot');
    +-----------------------------------------+
    | JSON_OBJECT('id', 87, 'name', 'carrot') |
    +-----------------------------------------+
    | {"id": 87, "name": "carrot"}            |
    +-----------------------------------------+
  • JSON_QUOTE(string)

    通过将字符串用双引号引起来并转义内部引号和其他字符来将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]"             |
    +-------------------------+

您还可以通过JSON使用将其他类型的值强制转换为该类型来 获取JSON值有关更多信息,请参见 在JSON和非JSON值之间转换。 CAST(value AS JSON)

提供了两个生成JSON值的聚合函数(MySQL 5.7.22和更高版本)。 JSON_ARRAYAGG()以单个JSON数组的形式 JSON_OBJECTAGG()返回结果集,并以单个JSON对象的形式返回结果集。

 

原文地址:https://www.cnblogs.com/guanbin-529/p/12824713.html