使用动态键和JSON值构建JSON对象

使用动态键和JSON值构建JSON对象,json,postgresql,aggregate-functions,jsonb,Json,Postgresql,Aggregate Functions,Jsonb,我试图用postgres查询构建一个JSON对象。我正在寻找的输出类似于下面的对象。属性“xxx”和“yyy”与日期一样来自一列 { "xxx": [ "2018-07-26T11:42:04.514Z", "2018-07-26T11:52:04.514Z"], "yyy": [ "2018-07-26T05:42:09.210Z", "2018-07-26T07:22:04.024Z"] } 我希望通过一个类似于下面的查询来实现这一点: SELECT json_ob

我试图用postgres查询构建一个JSON对象。我正在寻找的输出类似于下面的对象。属性“xxx”和“yyy”与日期一样来自一列

{
    "xxx": [ "2018-07-26T11:42:04.514Z", "2018-07-26T11:52:04.514Z"],
    "yyy": [ "2018-07-26T05:42:09.210Z", "2018-07-26T07:22:04.024Z"]
}
我希望通过一个类似于下面的查询来实现这一点:

SELECT
    json_object(
        array_agg(name),
        array_agg(json_build_array(start_date, end_date)
    )
FROM my_table
my_table表大致如下所示:

name | start_date                | end_date                 |
-------------------------------------------------------------
xxx  | 2018-07-26T11:42:04.514Z  | 2018-07-26T11:52:04.514Z |
yyy  | 2018-07-26T05:42:09.210Z  | 2018-07-26T07:22:04.024Z |
然而,json_对象只接受文本数组,我似乎找不到替代方法。因此,我得到
错误:函数json_对象(text[],json[])不存在
。谢谢你的阅读

使用和

select json_object_agg(name, jsonb_build_array(start_date, end_date))
from my_table