SELECT planname, '{"c":"baz"}'::JSON, json_build_object(planname,1,'bar',2) FROM bplaene LIMIT 10 ; -- Complex nested JSON with arrays SELECT json_build_object( 'trans_id', t.trans_id, 'user_data', json_build_object( 'user_id', t.user_id, 'user_username', t.user_username, 'user_full_name', t.user_full_name, 'user_street', t.user_street, 'user_postal_code', t.user_postal_code, 'user_additional_info', t.user_additional_info, 'user_country', t.user_country, 'user_vat_number', t.user_vat_number), 'order_data', json_build_object( 'order_date', t.order_date, 'order_sum', t.order_sum, 'order_vat', t.order_vat, 'order_invoice_nr', t.order_invoice_nr ), 'locations', (SELECT json_agg(row_to_json(locations)) FROM (SELECT l.address, l.project_title, (SELECT json_agg(row_to_json(f)) FROM (SELECT layername, data FROM sales.features) f) features FROM sales.locations l) locations) ) transaction FROM sales.transactions t