jsonb_object()

Builds a JSON object out of a text array. The array must have either exactly one dimension with an even number of members, in which case they are taken as alternating key/value pairs, or two dimensions such that each inner array has exactly two elements, which are taken as a key/value pair. All values are converted to JSON strings.

Signature

jsonb_object ( text[] ) → jsonb
jsonb_object ( keys text[], values text[] ) → jsonb

Examples

SELECT jsonb_object('{a, 1, b, "def", c, 3.5}');
{"a": "1", "b": "def", "c": "3.5"}
SELECT jsonb_object('{{a, 1}, {b, "def"}, {c, 3.5}}');
{"a": "1", "b": "def", "c": "3.5"}
SELECT jsonb_object('{a,b}', '{1,2}');
{"a": "1", "b": "2"}

Run against PostgreSQL 18.6 on 2026-09-13. This is the output we got, not the documentation’s.

Want to run this against your own PostgreSQL server from an iPhone, iPad or Mac? These are ours — every connection goes straight from the device to your database, with no account and no server of ours in between.

Signature and description adapted from the PostgreSQL manual, used under the PostgreSQL License. PostgreSQL is a registered trademark of the PostgreSQL Community Association of Canada. This page is not affiliated with the PostgreSQL Global Development Group.