如何用PostgreSQL查询将user_roles表数据转为指定JSON格式?
实现PostgreSQL查询结果转为指定JSON格式
你可以使用PostgreSQL的json_object_agg函数结合to_json函数来实现需求,具体SQL语句如下:
SELECT json_object_agg(id::text, to_json(user_roles)) AS result FROM user_roles;
语句说明:
to_json(user_roles):将表中每一行记录转换为包含所有列的JSON对象,比如第一行会被转为{"id":1,"role":"admin","created_at":"2021-10-27"}。id::text:将id字段转换为字符串类型,因为JSON对象的键必须是字符串格式。json_object_agg(id::text, to_json(user_roles)):把所有行的id字符串作为键,对应的行JSON对象作为值,聚合为一个完整的JSON对象,最终输出就是你需要的映射结构。
执行这条查询后,返回的result字段值就会是你期望的JSON格式。
内容的提问来源于stack exchange,提问作者Yonas Kemon
相关产品推荐
相关产品推荐

