postgesql将json_build_object作为每个分组json数组的父级返回,如下所示:
SELECT json_build_object(source, json_agg(stories.*))
FROM stories
GROUP BY stories.source
ORDER BY source;
Postgresql返回" json_build_object"作为关键。 是否可以用组返回的stories.source值替换?
stories:
CNN: [],
FOX: []...
最佳解决方案是这样的回应:
var data={
name:"dsd",
work: "abcd",
address:{
street:"wewe 32",
apt: 12,
city: "ca",
geo:{
lat: 23.4332,
lng: 132.232
},
hobbies:["play","sing"]
}
}
我确定我错过了在Postgresql中返回JSON的最佳做法...
答案 0 :(得分:2)
必须有一种方法可以在SQL中执行此操作,但由于现在缺少它,您可以将stories
属性转换为正确的对象:
function convert(stories) {
const res = {};
for (let i = 0; i < stories.length; i++) {
const obj = stories[i].json_build_object;
const name = Object.keys(obj)[0];
res[name] = obj[name];
}
return res;
}