PostgreSQL json格式化

时间:2017-05-12 17:41:54

标签: postgresql

我经常运行SQL查询,我只返回两个项目,比如uid和name,然后在我的PHP代码中,我把它变成一个JSON对象,其中键是UID,值是名称。有没有办法让PostgreSQL返回JSON已经格式化的那种?我唯一能找到的就是找回一系列物品,实际的钥匙是“uid'并且' name'。

所以我的SQL查询可能会返回:

| ** UID ** | **姓名** |
| ----------- | ------------ |
| ABC |莎莉|
| DEF | BOB |

对于输出我想要:

{       " ABC" :"莎莉",       " DEF" :" BOB"     }

2 个答案:

答案 0 :(得分:1)

with t (key, value) as ( values
    ('abc', 'john'),
    ('def', 'mary')
)
select json_object(array_agg(key), array_agg(value))
from t
;
           json_object            
----------------------------------
 {"abc" : "john", "def" : "mary"}

答案 1 :(得分:-1)

从PostgreSQL 9.2开始,它支持JSON格式。它包括JSON数据类型和两个JSON函数。这些允许我们直接从数据库返回JSON。下面的样本,

  

row_to_json()函数

this.lookupService.System(_model) .subscribe((data) => { console.log(data); this.searchPanel.Systems = data; for (let item of this.searchPanel.Systems) { console.log(item); } }, error => this.ShowError(error), () => { console.log('done'); }); 一样使用 将返回

  

{ “ID”:6013, “文本”: “前进”, “发音”: “进步”,...}

你可以在你的情况下实现它。