JSONB_BUILD_OBJECT
Собирает объект JSON из пар «ключ — значение».
PostgreSQL 17.5
JSONB_BUILD_OBJECT(key, value[, ...])Параметры
- keytext
- Ключ объекта, приводится к тексту
- value
- Значение любого типа, преобразуется в JSON
Возвращаемое значение
Объект jsonb; если ключ повторяется, остаётся последнее значение
Примеры
Объект из разных значений
PostgreSQL 17.5
SELECT JSONB_BUILD_OBJECT('a', 1, 'b', NULL, 'c', ARRAY [1, 2]) AS obj;Член семьи в виде JSON
PostgreSQL 17.5
SELECT JSONB_BUILD_OBJECT(
'id',
member_id,
'name',
member_name,
'status',
status
) AS member_json
FROM FamilyMembers;Подробности
Аргументов должно быть чётное число, иначе — ошибка. NULL становится JSON null, а массив — массивом JSON. Чтобы собрать объекты всех строк в один массив, используйте JSONB_AGG(JSONB_BUILD_OBJECT(...)).