JSON_PRETTY()

JSON_PRETTY() 格式化输出 JSON 值,添加缩进和换行以生成更易读的表示形式。支持对象、数组、标量和嵌套结构。

函数说明

JSON_PRETTY() 接收一个 JSON 文档并返回其格式化后的字符串版本。输出对嵌套对象和数组使用 4 空格缩进。标量值(数字、字符串、布尔值、null)不带额外空白直接输出。

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

Syntax

> JSON_PRETTY(json_val)

Arguments

参数

说明

json_val

必填。一个 JSON 值(字符串、JSON 列或 JSON 函数的结果)。

Examples

DROP DATABASE IF EXISTS dbfuncs;
CREATE DATABASE dbfuncs;
USE dbfuncs;

-- 标量值
SELECT JSON_PRETTY('123');
SELECT JSON_PRETTY('"hello"');
SELECT JSON_PRETTY('true');
SELECT JSON_PRETTY('null');

-- 数组
SELECT JSON_PRETTY('[1,3,5]');
SELECT JSON_PRETTY('[]');
SELECT JSON_PRETTY('[1]');

-- 对象
SELECT JSON_PRETTY('{"a":"10","b":"15","x":"25"}');
SELECT JSON_PRETTY('{}');
SELECT JSON_PRETTY('{"key":"value"}');

-- NULL 输入
SELECT JSON_PRETTY(NULL);

-- 通过 JSON 函数
SELECT JSON_PRETTY(JSON_ARRAY(1, 2, 3));
SELECT JSON_PRETTY(JSON_OBJECT('a', 1, 'b', 2));

-- 表中使用
CREATE TABLE t1 (a VARCHAR(200));
INSERT INTO t1 VALUES ('[1,2,3]'), ('{"a":1}'), ('"hello"'), (NULL);
SELECT JSON_PRETTY(a) FROM t1;

DROP TABLE t1;
DROP DATABASE dbfuncs;