将Postgres json_build_object作为表中的变量字段返回

时间:2017-07-25 18:13:21

标签: json postgresql

postgesql将json_build_object作为每个分组json数组的父级返回,如下所示:

 {
  "stories": [{
        "json_build_object": {
          "CNN": []
        }
      },
      {
        "json_build_object": {
          "FOX": []
        }
      },
      {
        "json_build_object": {
          "Huffpost": []
        }
      },...

Postgresql将“json_build_object”作为键返回。 是否可以替换为该组返回的stories.source值?尝试了一个ALIAS,但返回了一个错误。

SELECT json_build_object(source, json_agg(stories.*))
FROM stories
GROUP BY stories.source
ORDER BY source;

最佳解决方案是这样的回应:

 stories:
  CNN: [],
  FOX: []...

我确定我错过了在Postgresql中返回JSON的最佳做法......

1 个答案:

答案 0 :(得分:0)

像这样在json_agg之前使用json_object_agg

select test json_agg(json_oject_agg(...)) test;