不确定这是否适用,但 Postgres 提供了很多用于在返回之前格式化数据的工具。例如,这是一个基于名为“mockit”的表的简单示例,我在其中有一些示例数据:
SELECT row_to_json(mockit_row) AS mockit_objects
FROM
(SELECT first_name, last_name, email
FROM mockit
WHERE gender = 'Male'
LIMIT 10) AS mockit_row;
你得到的是每行一个对象,作为一个 JSON 对象
{"first_name":"Farlay","last_name":"Creegan","email":"fcreegan0@github.io"}
{"first_name":"Holt","last_name":"Cicco","email":"hcicco1@scribd.com"}
等等
如果您想要一个带有对象数组的单个 JSON 对象:
SELECT array_to_json(array_agg(row_to_json(mockit_row))) AS mockit_objects
FROM
(SELECT first_name, last_name, email
FROM mockit
WHERE gender = 'Male'
LIMIT 10) AS mockit_row;
我记得,D3(我想念使用 D3 的工作)将事物脱水成对象数组。所以你可以提供格式的数据,如果它更容易的话。 CSV 和 TSV 是较小的线路格式,但我不认为 (?) Postgres 中目前不支持将结果作为 SQL 调用输出到该格式。
Postgres 快得快,所以最好将处理推到它上面。