In Postgres 9.4 potresti usare json_build_object () .
Per il tuo esempio, funziona come:
SELECT group_id,
json_agg(json_build_object('id', id, 'name', name, 'body', body))
FROM temp
GROUP BY group_id;
questo è un modo più amichevole, Postgres ci ama :3