MariaDB JSON_DETAILED() 函数使用指南

在 MariaDB 中,JSON_DETAILED() 是一个内置函数,它格式化输出一个 JSON 文档,以便更易于阅读。

MariaDB JSON_DETAILED() 函数与 MySQL JSON_PRETTY() 类似。

JSON_COMPACT() 与该函数相反,它从 JSON 文档删除不必要的空格和换行。

MariaDB JSON_DETAILED() 语法

这里是 MariaDB JSON_DETAILED() 函数的语法:

JSON_DETAILED(json)
JSON_DETAILED(json, tab_size)

参数

json
必需的。需要被处理的 JSON 文档。
tab_size
可选的。它指定制表符/缩进大小。

如果您提供了错误数量的参数,MariaDB 将报告一个错误: ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_DETAILED'

返回值

MariaDB JSON_DETAILED() 函数从给定的 JSON 文档中删除指定的空格。

如果您提供一个 NULL 值作为参数, JSON_DETAILED() 将返回 NULL

MariaDB JSON_DETAILED() 示例

下面的示例展示了 MariaDB JSON_DETAILED() 函数的用法。

基本示例

SET @json_doc = '{"x":1,"b": [2,  3]}';

SELECT JSON_DETAILED(@json_doc);

输出:

+------------------------------------------------------------+
| JSON_DETAILED(@json_doc)                                   |
+------------------------------------------------------------+
| {
    "x": 1,
    "b":
    [
        2,
        3
    ]
} |
+------------------------------------------------------------+

缩进大小

MariaDB JSON_DETAILED() 函数允许您使用 tab_size 参数改变缩进的大小:

SET @json_doc = '{"x":1,"b": [2,  3]}';

SELECT JSON_DETAILED(@json_doc, 1);

输出:

+------------------------------------+
| JSON_DETAILED(@json_doc, 1)        |
+------------------------------------+
| {
 "x": 1,
 "b":
 [
  2,
  3
 ]
} |
+------------------------------------+

NULL 参数

如果您提供一个 NULL 值作为参数, JSON_DETAILED() 将返回 NULL

SELECT JSON_DETAILED(NULL);

输出:

+---------------------+
| JSON_DETAILED(NULL) |
+---------------------+
| NULL                |
+---------------------+

结论

在 MariaDB 中,JSON_DETAILED() 是一个内置函数,它格式化输出一个 JSON 文档,以便更易于阅读。