Referencia de funciones

JSONB_BUILD_OBJECT

Construye un objeto JSON a partir de pares clave-valor.

PostgreSQL 17.9
JSONB_BUILD_OBJECT(key, value[, ...])
  • [ ]parte opcional
  • ...se puede repetir
key
Clave del objeto, se convierte en texto
text
value
Valor de cualquier tipo, se convierte en JSON

Valor devuelto

Objeto de tipo jsonb; si una clave se repite, se queda el último valor

Ejemplos

Objeto con valores distintos

PostgreSQL 17.9
SELECT JSONB_BUILD_OBJECT('a', 1, 'b', NULL, 'c', ARRAY [1, 2]) AS obj;
obj
{"a":1,"b":null,"c":[1,2]}

Un miembro de la familia como JSON

PostgreSQL 17.9
SELECT JSONB_BUILD_OBJECT(
		'id',
		member_id,
		'name',
		member_name,
		'status',
		status
	) AS member_json
FROM FamilyMembers;
member_json
{"id":1,"name":"Headley Quincey","status":"father"}
{"id":2,"name":"Flavia Quincey","status":"mother"}
{"id":3,"name":"Andie Quincey","status":"son"}
{"id":4,"name":"Lela Quincey","status":"daughter"}
{"id":5,"name":"Annie Quincey","status":"daughter"}
{"id":6,"name":"Ernest Forrest","status":"father"}
{"id":7,"name":"Constance Forrest","status":"mother"}
{"id":8,"name":"Wednesday Addams","status":"daughter"}

Detalles

El número de argumentos tiene que ser par; si no, se produce un error. NULL se convierte en null de JSON, y un array, en un array JSON. Para reunir los objetos de todas las filas en un array, usa JSONB_AGG(JSONB_BUILD_OBJECT(...)).

Véase también