MySQL JSON_PRETTY() 函数使用指南

MySQL JSON_PRETTY() 函数格式化输出一个 JSON 文档,以便更易于阅读。

JSON_PRETTY() 语法

这里是 MySQL JSON_PRETTY() 的语法:

JSON_PRETTY(json)

参数

json
必需的。一个 JSON 文档或 JSON 类型的值。

返回值

JSON_PRETTY() 函数格式化输出一个 JSON 文档,以便更易于阅读。

JSON_PRETTY() 函数按照如下美化输出 JSON 文档:

  • 每个数组元素或每个对象成员都显示在单独的行上,与其父级相比,缩进一个附加级别。
  • 每个缩进级别都会添加两个前导空格。
  • 分隔各个数组元素或对象成员的逗号打印在分隔两个元素或成员的换行符之前。
  • 对象成员的键和值由冒号后跟空格分隔(: )。
  • 空对象或数组打印在一行上。左括号和右括号之间未打印空格。
  • 字符串标量和键名中的特殊字符使用与 JSON_QUOTE() 函数相同的规则进行转义。

如果参数为 NULL,此函数将返回 NULL

如果任意一个参数不是有效的 JSON 文档,MySQL 将会给出错误。您可以使用 JSON_VALID() 验证 JSON 文档的有效性。

JSON_PRETTY() 示例

这里列出了几个常见的 JSON_PRETTY() 用法示例。

格式化输出数组

SELECT JSON_PRETTY('[1, 2, 3]');
+--------------------------+
| JSON_PRETTY('[1, 2, 3]') |
+--------------------------+
| [
  1,
  2,
  3
]        |
+--------------------------+

格式化输出对象

SELECT JSON_PRETTY('{"x": 1, "y": 2}');
+---------------------------------+
| JSON_PRETTY('{"x": 1, "y": 2}') |
+---------------------------------+
| {
  "x": 1,
  "y": 2
}          |
+---------------------------------+

格式化输出复杂对象

SELECT JSON_PRETTY('{"x": 1, "y": [1, 2, 3], "z": {"a": "a", "b": true}}');
+------------------------------------------------------------------------------------------+
| JSON_PRETTY('{"x": 1, "y": [1, 2, 3], "z": {"a": "a", "b": true}}')                      |
+------------------------------------------------------------------------------------------+
| {
  "x": 1,
  "y": [
    1,
    2,
    3
  ],
  "z": {
    "a": "a",
    "b": true
  }
} |
+------------------------------------------------------------------------------------------+