MariaDB JSON_ARRAY() 函数使用指南

在 MariaDB 中,JSON_ARRAY() 是一个内置函数,它返回一个包含了所有参数的 JSON 数组。

MariaDB JSON_ARRAY() 语法

这里是 MariaDB JSON_ARRAY() 的语法:

JSON_ARRAY(value1[, value2[, ...]])

参数

value1[, value2[, ...]]
可选的。一些值,他们将被放在 JSON 数组中。

返回值

JSON_ARRAY() 函数评估参数中的所有的值,并返回一个包含了所有参数的 JSON 数组。

这里可能有一些转换发生:

  • TRUE 被转换为 true
  • FALSE 被转换为 false
  • NULL 被转换为 null
  • 日期,时间,日期时间 被转换为 字符串

MariaDB JSON_ARRAY() 示例

这里列出了几个常见的 JSON_ARRAY() 示例。

示例 1

SELECT JSON_ARRAY(123, 'abc', NULL, TRUE, FALSE, NOW());

输出:

+---------------------------------------------------------------+
| JSON_ARRAY(123, 'abc', NULL, TRUE, FALSE, NOW())              |
+---------------------------------------------------------------+
| [123, "abc", null, true, false, "2022-04-18 07:47:23.000000"] |
+---------------------------------------------------------------+

包含数组的数组

SELECT JSON_ARRAY(JSON_ARRAY(123, 456), JSON_ARRAY('abc', 'dec'));

输出:

+------------------------------------------------------------+
| JSON_ARRAY(JSON_ARRAY(123, 456), JSON_ARRAY('abc', 'dec')) |
+------------------------------------------------------------+
| [[123, 456], ["abc", "dec"]]                               |
+------------------------------------------------------------+

这里, 我们使用了 JSON_ARRAY() 的结果作为 JSON_ARRAY() 的参数。

包含对象的数组

SELECT JSON_ARRAY(
        JSON_OBJECT('name', 'Jim', 'age', 20),
        JSON_OBJECT('name', 'Tim', 'age', 18)
    ) AS objct_array;

输出:

+----------------------------------------------------------+
| objct_array                                              |
+----------------------------------------------------------+
| [{"age": 20, "name": "Jim"}, {"age": 18, "name": "Tim"}] |
+----------------------------------------------------------+

这里, 我们使用了 JSON_OBJECT() 的结果作为 JSON_ARRAY() 的参数。

转义字符

JSON_ARRAY() 函数使用反斜杠自动转义双引号。

SELECT JSON_ARRAY('The "right" time');

输出:

+--------------------------------+
| JSON_ARRAY('The "right" time') |
+--------------------------------+
| ["The \"right\" time"]         |
+--------------------------------+

空字符串

JSON_ARRAY() 函数将传递的空字符串视为合法的字符串并把他们添加到数组中:

SELECT JSON_ARRAY('', '', '');

输出:

+------------------------+
| JSON_ARRAY('', '', '') |
+------------------------+
| ["", "", ""]           |
+------------------------+

空数组

如果您不传递任何参数,JSON_ARRAY() 函数将返回一个空数组:

SELECT JSON_ARRAY();

输出:

+--------------+
| JSON_ARRAY() |
+--------------+
| []           |
+--------------+

结论

在 MariaDB 中,JSON_ARRAY() 是一个内置函数,它返回一个包含了所有参数的 JSON 数组。