我经常运行SQL查询,我只返回两个项目,比如uid和name,然后在我的PHP代码中,我把它变成一个JSON对象,其中键是UID,值是名称。有没有办法让PostgreSQL返回JSON已经格式化的那种?我唯一能找到的就是找回一系列物品,实际的钥匙是“uid'并且' name'。
所以我的SQL查询可能会返回:
| ** UID ** | **姓名** |
| ----------- | ------------ |
| ABC |莎莉|
| DEF | BOB |
对于输出我想要:
{ " ABC" :"莎莉", " DEF" :" BOB" }
答案 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, “文本”: “前进”, “发音”: “进步”,...}
你可以在你的情况下实现它。