SQL Academy
Premium
Funktionsreferenz

JSONB_BUILD_OBJECT

Baut ein JSON-Objekt aus Schlüssel-Wert-Paaren.

PostgreSQL 17.5
JSONB_BUILD_OBJECT(key, value[, ...])

Parameter

keytext
Objektschlüssel, wird in Text umgewandelt
value
Wert beliebigen Typs, wird in JSON umgewandelt

Rückgabewert

Objekt vom Typ jsonb; bei einem wiederholten Schlüssel bleibt der letzte Wert

Beispiele

Objekt aus verschiedenen Werten

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

Familienmitglied als JSON

PostgreSQL 17.5
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"}

Details

Die Anzahl der Argumente muss gerade sein, sonst gibt es einen Fehler. NULL wird zu JSON-null, ein Array zu einem JSON-Array. Um die Objekte aller Zeilen in einem Array zu sammeln, verwende JSONB_AGG(JSONB_BUILD_OBJECT(...)).

Siehe auch