首页/数据/SQL 速查/JSON_OBJECT / JSON_ARRAY 构造 JSON
本包目录(311 条)
查询基础33 条连接与子查询40 条聚合与窗口函数54 条
函数速查60 条
变更与事务52 条性能与执行计划72 条

JSON_OBJECT / JSON_ARRAY 构造 JSON

在 SQL 里构造 JSON 对象与数组:接口返回、宽表导出、事件打点时拼 JSON 结构。

SQL 速查数据更新于 2026-10-12

MySQL

MySQL
SELECT JSON_OBJECT('id', id, 'name', name, 'tags', JSON_ARRAY('a', 'b'))
FROM users WHERE id = 1;

PostgreSQL

PostgreSQL
SELECT jsonb_build_object('id', id, 'name', name,
                          'tags', jsonb_build_array('a', 'b'))
FROM users WHERE id = 1;
MySQLJSON_OBJECT(k, v, ...) / JSON_ARRAY(v1, v2, ...),返回 JSON 类型
PostgreSQLjsonb_build_object / jsonb_build_array(键值交替,个数须为偶数)
NULLMySQL JSON_OBJECT 中 NULL 值保留为 JSON null;PG 同样保留(SQL null 转 JSON null)

易错点

  • PostgreSQL 的 jsonb_build_object 参数个数为奇数会直接报错,键必须成对出现
  • 构造时把数字与字符串混用不会报错但类型会固化进 JSON,消费端解析时注意类型约定

数据来源与参考

  • MySQL 8.0 Reference Manual · JSON Functions
  • PostgreSQL Documentation · JSON Functions and Operators
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌