↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

Wiki / 函数

json_object

根据给定的所有键值对构造 JSON 对象;如果没有给出键值对,则构造空对象。key_expression是定义JSON键的标量表达式,会被转换为text类型。它不能为NULL,其类型也不能具有到json的类型转换。如果指定了WITH UNIQUE KEYS,则key_expression不能重复。如果指定了ABSENT ON NULL,则value_expression求值为NULL的键值对会从输出中省略;如果指定了NULL ON NULL或省略了该子句,则保留该键,并将其值设为NULL。

英文手册覆盖始于 PostgreSQL 7.1. 来源历史与运行验证各自保留独立版本边界。

当前阅读 PG 18·选择有来源记录的版本

group
json
group label
Json Functions And Operators
lang
en
layout
table-new
pages
functions-json.html
prose only
false
zh from
未知

版本定义 PG 18

根据给定的所有键值对构造 JSON 对象;如果没有给出键值对,则构造空对象。key_expression是定义JSON键的标量表达式,会被转换为text类型。它不能为NULL,其类型也不能具有到json的类型转换。如果指定了WITH UNIQUE KEYS,则key_expression不能重复。如果指定了ABSENT ON NULL,则value_expression求值为NULL的键值对会从输出中省略;如果指定了NULL ON NULL或省略了该子句,则保留该键,并将其值设为NULL。
json_object ( [ { key_expression { VALUE | ':' } value_expression [ FORMAT JSON [ ENCODING UTF8 ] ] }[, ...] ] [ { NULL | ABSENT } ON NULL ] [ { WITH | WITHOUT } UNIQUE [ KEYS ] ] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] ])
根据给定的所有键值对构造 JSON 对象;如果没有给出键值对,则构造空对象。key_expression是定义JSON键的标量表达式,会被转换为text类型。它不能为NULL,其类型也不能具有到json的类型转换。如果指定了WITH UNIQUE KEYS,则key_expression不能重复。如果指定了ABSENT ON NULL,则value_expression求值为NULL的键值对会从输出中省略;如果指定了NULL ON NULL或省略了该子句,则保留该键,并将其值设为NULL。
json_object ( text[] ) → json
从 text 数组构造 JSON 对象。该数组必须是一维且包含偶数个成员,此时将成员按交替的键/值对处理;或者是二维数组,且每个内部数组恰好有两个元素,将这两个元素作为一个键/值对。所有值都转换为 JSON 字符串。
json_object ( keys text[], values text[] ) → json
这种形式的json_object从单独的 text 数组中成对地获取键和值。除此之外,它与单参数形式相同。

函数签名与重载

json_object ( [ { key_expression { VALUE | ':' } value_expression [ FORMAT JSON [ ENCODING UTF8 ] ] }[, ...] ] [ { NULL | ABSENT } ON NULL ] [ { WITH | WITHOUT } UNIQUE [ KEYS ] ] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] ])
根据给定的所有键值对构造 JSON 对象;如果没有给出键值对,则构造空对象。key_expression是定义JSON键的标量表达式,会被转换为text类型。它不能为NULL,其类型也不能具有到json的类型转换。如果指定了WITH UNIQUE KEYS,则key_expression不能重复。如果指定了ABSENT ON NULL,则value_expression求值为NULL的键值对会从输出中省略;如果指定了NULL ON NULL或省略了该子句,则保留该键,并将其值设为NULL。
json_object ( text[] ) → json → json
从 text 数组构造 JSON 对象。该数组必须是一维且包含偶数个成员,此时将成员按交替的键/值对处理;或者是二维数组,且每个内部数组恰好有两个元素,将这两个元素作为一个键/值对。所有值都转换为 JSON 字符串。
json_object ( keys text[], values text[] ) → json → json
这种形式的json_object从单独的 text 数组中成对地获取键和值。除此之外,它与单参数形式相同。

比较版本

来源引用

完整定义与证据 JSON

定义来源

center · PostgreSQL 18 · 2026-09-14T13:14:25.684213+00:00@99e6866c

正文语言: zh-Hans · 1b5ca64c